首页 >web前端 >js教程 >你应该等待承诺链吗?

你应该等待承诺链吗?

DDD
DDD原创
2024-11-25 13:32:11535浏览

Should You Await Promise Chains?

等待 Promise 链:潜在的陷阱

建议不要在某些上下文中等待 Promise 链,特别是在 Angular 6 应用程序中。这种看似多余的方法引发了对其潜在后果的质疑。

Promise 链问题

以下代码片段举例说明了所讨论的反模式:

await someFunction().then(result => {
    console.log(result);
});

此代码不必要地将 someFunction() 返回的 Promise 包装在 Promise.then 链中

替代解决方案

更简洁直接的方法是直接等待承诺:

const result = await someFunction();
console.log(result);

为什么要避免 Promise Chaining?

虽然两个片段实现了相同的效果结果,第一个会引起混乱和潜在的错误:

  • 清晰度降低:混合等待和链式承诺可能会妨碍可读性。
  • 不一致的错误处理: 不清楚如何处理第一个错误
  • 有限的控制流:链式回调中的条件返回或额外的 Promise 调用可能会引入歧义并使代码逻辑复杂化。

一致性是关键

为了保持一致性并避免潜在的风险陷阱,建议选择直接等待承诺的更简单方法。这符合在异步函数中优先使用await的一般规则。

规则的例外

虽然await通常更可取,但也可能有例外。在某些错误处理情况下,承诺链可以提供更清晰、更简洁的方法。

以上是你应该等待承诺链吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn