鍍金池/ 問答/HTML/ node中await調用沒有作用

node中await調用沒有作用

后端使用node的微信小程序。await mysql的異步方法寫在getRoom里無返回值像是異步出錯了,但是寫在主函數(shù)里可以運行。這是什么原因,如果要寫在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 }
回答
編輯回答
歆久

既然getRoom已經是一個async了,調用它的時候需要await吧

2017年9月18日 02:16