如何把一个Promise对象转换成一个 async/await对象
有个一个现有的API,是一个HTTP请求 代码如下
getData(data)=>{
return new Promise((resolve, reject)=>{
request
.post(url)
.send(data)
.end((err, res)=>{
if(err){
logger.error(err);
return reject(err);
}
let dataJson = JSON.parse(res.text);
return reject(dataJson);
});
});
}
有没有办法把里面的代码转换成一个async/await对象
6 回复
找到原因了,最后一行代码应该写成 return resolve(dataJson);,这样我就可以通过await对象进行接受了
await可以直接接promise,所以你不需要转的
恩,确实是!但是用reject不知道为什么,我用await接受,无法接受,用resolve就可以
@yuexing0921 reject promise 要使用 try … catch 来捕获
既然是Promise, 直接 await 就好了, 类似于 await request.postAsync(‘url’, {json: params});
@DevinXian 原来如此!THX