【发布时间】:2019-06-20 11:49:15
【问题描述】:
我正在开发一个 Angular 6 应用程序,有人告诉我以下是反模式:
await someFunction().then(result => {
console.log(result);
});
我意识到等待一个承诺链是没有意义的。如果 someFunction() 返回一个 Promise,那么如果你在等待它,你就不需要 Promise 链。你可以这样做:
const result = await someFunction();
console.log(result);
但有人告诉我,等待承诺链可能会导致错误,或者它会破坏我的代码中的东西。如果上面的第一个代码 sn-p 与第二个 sn-p 执行相同的操作,那么使用哪个代码有什么关系。第一个 sn-p 引入了哪些危险而第二个没有?
【问题讨论】:
-
我认为顶级的“await someFunction()”是不可能的,它必须被包裹在一些异步函数中,或者不是?
标签: javascript promise async-await anti-patterns