koa2,ctx.body没起作用怎么回事?

clipboard.png

var jwt = require('jsonwebtoken')
module.exports = async function (ctx, next) {
    const token = ctx.request.body.token || ctx.query.token || ctx.request.headers['x-access-token']
    if(token) {
        jwt.verify(token, 'zhiyuJS', function(err, decoded) {
            if (err) {
                return ctx.body = { status: 0, msg: 'token信息错误', err }
            } else {
                ctx.userinfo = decoded
                next()
            }
        })
    } else {
        return ctx.body = {
            status: 0,
            msg: '没有token' 
        }
    }
}
exports.find = async function (ctx) {
    let res = await SpaceModel.find()
    console.log(res)  //此处打印是有 结构的
    ctx.body = {
        result: res
    } 
}

但是接口报 -- 404

阅读 3.2k
3 个回答

return next()

  1. 先把你的所有回调转成promise
  2. await 刚才转的promise
  3. await next()
新手上路,请多包涵

楼主你解决了吗, 我和你是一样的原因也是用了这个token

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