首页 > 开发 > NodeJS > 正文

async函数返回值问题

2017-09-08 17:11:13  来源:网友分享
async function a() {  let a1 = await new Promise(function(resolve, reject) {      var num = 5;      return num;  });  let a2 = await new Promise(function(resolve,reject){     //我想在这里拿到a1的返回值  });  let a3 = await a2() //我想拿到a2的返回值}

解决方案

async function a() {  let a1 = await new Promise(function(resolve, reject) {      const num = 5;      resolve(num)  });  let a2 = await new Promise(function(resolve,reject){     //我想在这里拿到a1的返回值     console.log(a1) // 5     resolve(a1)  });  let a3 = await a2 //我想拿到a2的返回值  console.log(a3) // 5}a()

这样就可以了啊,希望能帮到你,Promise需要把结果放在resolve里面 而不是 return,
另外你都用async await 就不要用var了吧,箭头函数也可以搞起来 代码可以简洁不少