node中await调用没有作用

后端使用node的微信小程序。await mysql的异步方法写在getRoom里无返回值像是异步出错了,但是写在主函数里可以运行。这是什么原因,如果要写在getRoom里需要怎么改

代码A可以运行


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

    var index =  async (ctx, next)=>  {

      let data = ctx.request.body

      switch (ctx.request.body.fun) {

        case 'add': add(ctx, next); break;

        case 'getRoom': getRoom(ctx,next);break;

        default: err(ctx, next); break;

      }

     

      await mysql('aaa').select().from('room').then((back) => { ctx.state.data = { msg: back } })

    }


    var getRoom =  (ctx,next)=>{


   }


module.exports = { index: index }

代码B无返回值


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

    var index =  async (ctx, next)=>  {

      let data = ctx.request.body

      switch (ctx.request.body.fun) {

        case 'add': add(ctx, next); break;

        case 'getRoom': getRoom(ctx,next);break;

        default: err(ctx, next); break;

      }

     

     

    }


    var getRoom =  async(ctx,next)=>{

      await mysql('aaa').select().from('room').then((back) => { ctx.state.data = { msg: back } })

   }


module.exports = { index: index }


蝴蝶刀刀
浏览 304回答 1
1回答

紫衣仙女

既然getRoom已经是一个async了,调用它的时候需要await吧
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript