await后的Promise异步操作里如何再接一个await而不报错

直接上代码:

async function comment(req, res){
     
  await messageModel.getMessage([page]).then(result => {
     
    for (let i = 0; i < result.length; i++) {
     
      await messageModel.getCommentLength([result[i].id]).then(resp => {
     
      	console.log(resp
      })
    }
  })
}

在上面这个例子,在node里面运行一下就会报错提示,await只能在async方法内使用。
我想了很久,将then的成功回调函数声明async函数即可,解决了我很多问题。
以下是解决代码:

async function comment(req, res){
     
  await messageModel.getMessage([page]).then(async result => {
     
    for (let i = 0; i < result.length; i++) {
     
      await messageModel.getCommentLength([result[i].id]).then(resp => {
     
      	console.log(resp
      })
    }
  })
}

你可能感兴趣的:(node.js,es6)