【发布时间】:2018-07-28 08:35:00
【问题描述】:
我对这个问题没有任何问题,我只是对 knex.js 如何处理某些事情感兴趣。
在代码中,你可以这样写
let search = knex.table('users').select('something')
if(params.minprice) search.where('minprice', params.minprice)
if(something) search.something()
let result = await search
它有效,但我不明白他们是如何在等待发生之前保持查询执行的?如果我们确实等待,这意味着函数是异步的,也就是返回了一个 Promise。但是在 javascript 中,一旦调用返回它的函数,promise 就会执行,它不在乎是 .then() 还是 .catch()。不应该从第 1 行开始查询执行吗?更何况,我log search的时候,不是promise,而是某种object,怎么可能等待呢?
有人可以提供一个简单的例子来实现这种行为吗?
【问题讨论】:
标签: javascript promise async-await knex.js