首页  >  文章  >  web前端  >  Angular 6 中等待 Promise 链是否有代码异味?

Angular 6 中等待 Promise 链是否有代码异味?

DDD
DDD原创
2024-11-20 03:02:02289浏览

Is Awaiting a Promise Chain in Angular 6 a Code Smell?

等待 Promise 链:这是一个陷阱吗?

在 Angular 6 中,建议开发人员不要使用以下代码:

关心的不是等待 Promise 链是没有用的 - 只要 someFunction() 确实返回一个 Promise,两者都可以片段的工作原理相同。问题出在其他地方。

混乱是由混合异步编程风格引起的。 ES2017 中引入的异步函数引入了await 关键字。当await 在异步函数中使用时,它会暂停函数的执行并等待promise 解析。这简化了异步编程,使阅读和理解代码变得更加容易。

另一方面,承诺链是一种较旧的异步编程方法。它涉及使用 .then() 将多个 Promise 链接在一起。虽然这种方法仍然有效,但与await混合使用时可能会造成混乱。

例如,如果您想在 console.log() 调用的位置添加另一个 Promise 调用或有条件地从函数返回,语义变得不清楚。您可以像在函数中的其他地方一样在回调中使用await吗?您需要从 .then() 回调返回结果吗?是否有可能从外部函数返回?

为了避免这些复杂性,建议坚持一种异步编程风格,最好使用await 来保持一致性。通过这样做,您可以简化代码并降低引入错误的风险。更简洁干净的版本是:

以上是Angular 6 中等待 Promise 链是否有代码异味?的详细内容。更多信息请关注PHP中文网其他相关文章!

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