尽管存在 ESLint 规则 no-return-await,这不鼓励使用 return wait,但一些开发人员可能会发现自己在利用这个图案。虽然它不会造成重大的性能问题,但规则的描述提到 return wait 引入了“在总体 Promise 解决或拒绝之前的额外时间。”
但是,MDN 文档的“简单示例”演示了 return 的使用等待而不暗示任何性能问题。为了阐明这种差异,让我们探讨一下 return wait 的实际影响。
本质上,return wait 是一个冗余操作。 Promise 解析或拒绝已经在 async 函数中发生,而 return wait 只是在返回值之前再次等待它。此附加操作可能会增加最少的执行时间,但不太可能对性能产生明显影响。
return wait 确实会产生有意义的差异的一个实例是在异常处理中:
try { ... return await ...; } ...
使用await时,async函数内的拒绝会触发异常,确保catch和finally处理程序被执行。然而,简单的 return 只会退出 try 块并跳过这些处理程序。
虽然 return wait 一般来说不是性能问题,但它被认为是糟糕的风格,可能表明缺乏对 Promise 和 async/await 的理解。在大多数情况下,这是不必要的,应该避免。然而,在错误处理的上下文中,返回等待对于正确的异常传播至关重要。
以上是'return wait”是性能瓶颈吗?的详细内容。更多信息请关注PHP中文网其他相关文章!