koa.js 中使用 knex.js 问题

const { mysql } = require('../qcloud')

module.exports = async (ctx, next) => {
    mysql('cAppinfo').select('*').then(res => {
        ctx.state.code = 0
        ctx.state.data = res
    }).catch(err => {
        ctx.state.code = -1
        throw new Error(err)
    })
}

这段代码放在app.js文件下可以打印出正确的数据,却在controllers文件夹下进入不到then阶段

项目克隆自:https://github.com/tencentyun...

卡在这里好久了,求指导?

阅读 6.5k
5 个回答

因为查询数据库是异步,所以在mysql前面加await。

在什么地方添加await,我的添加了直接上传不了

你的配置文件路径有改吗

mysql('cAppinfo').select('*') 进来了么

const { mysql } = require('../qcloud')
module.exports = async (ctx, next) => {

await mysql('cAppinfo').select('*').then(res => {
    ctx.state.code = 0
    ctx.state.data = res
}).catch(err => {
    ctx.state.code = -1
    throw new Error(err)
})

}

改成这个样子试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题