const { MonitorDB: config } = require('../config')/** * Get the latest temperature from DB */async function get(ctx, next) { const MonitorDB = require('knex')({ client: 'mysql', connection: { host: config.host, port: config.port, user: config.user, password: config.pass, database: config.db, charset: config.char, } }) MonitorDB('temperature').select('*').then(function(rows) { ctx.state.code = 200 ctx.state.data = { msg: 23.5 } }) .catch(function(error) { console.log(error) tx.state.code = 500 ctx.state.data = { msg: error } })} |
如上代码想实现一个get操作,这个操作会去查询DB,然后根据查询的结果返回不同的值。
但是每次API调用都不能then执行就返回了。我也知道这个then是异步调用,但是我怎么能够让这个get 函数停下来等待then执行,然后再返回呢?

我今天也遇到这个,很痛苦。刚刚尝试在成功了。
你可以这么做, 在 MonitorDB前面 加 await
await MonitirDB('tem...').blabalbalbal