否。这是
Promise构造函数antipattern的async/await版本!当您调用时
resolve,它甚至不会停止循环,或者在引发异常时(例如,当
resis
null)拒绝它。
你应该用
async function getResult() { for (let counter = 0; counter < 10; counter += 1) { await Bluebird.delay(1000); const res = await apiCall(); if (res.data) { return res.data; } } throw new Error('timeout');}
如果您要确保返回的是Bluebird承诺,而不是本地的,则将其包装
Bluebird.method或告诉您的翻译者使用Bluebird。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)