在 Angular 6 中,建议开发人员不要使用以下代码:
关心的不是等待 Promise 链是没有用的 - 只要 someFunction() 确实返回一个 Promise,两者都可以片段的工作原理相同。问题出在其他地方。
混乱是由混合异步编程风格引起的。 ES2017 中引入的异步函数引入了await 关键字。当await 在异步函数中使用时,它会暂停函数的执行并等待promise 解析。这简化了异步编程,使阅读和理解代码变得更加容易。
另一方面,承诺链是一种较旧的异步编程方法。它涉及使用 .then() 将多个 Promise 链接在一起。虽然这种方法仍然有效,但与await混合使用时可能会造成混乱。
例如,如果您想在 console.log() 调用的位置添加另一个 Promise 调用或有条件地从函数返回,语义变得不清楚。您可以像在函数中的其他地方一样在回调中使用await吗?您需要从 .then() 回调返回结果吗?是否有可能从外部函数返回?
为了避免这些复杂性,建议坚持一种异步编程风格,最好使用await 来保持一致性。通过这样做,您可以简化代码并降低引入错误的风险。更简洁干净的版本是:
以上是Angular 6 中等待 Promise 链是否有代码异味?的详细内容。更多信息请关注PHP中文网其他相关文章!