乐趣区

关于javascript:async-await的缺陷

一、缺点

Async/await 让你的代码看起来是同步的,在某种程度上,也使得它的行为更加地同步。await 关键字会阻塞其后的代码,直到 promise 实现,就像执行同步操作一样。它的确能够容许其余工作在此期间持续运行,但您本人的代码被阻塞。

这意味着您的代码可能会因为大量 await 的 promises 相继产生而变慢。每个 await 都会期待前一个实现,而你理论想要的是所有的这些 promises 同时开始解决(就像咱们没有应用 async/await 时那样)。

https://developer.mozilla.org…

二、demo 验证

发申请的函数:

当在 mounted 的时候,同时执行多个 await 函数:

后果:

很显著这三个申请不是异步的,统计工夫远远大于三个申请工夫之和。

三、改良办法

1、去掉 async await

后果:

很显著,三个申请是同步的,而且统计工夫霎时少了很多!

2、将对象存储在变量中

后果:

该改良办法的三个申请也是异步的,但统计工夫没有办法一的快,预计是须要额定启动它们关联的过程。

退出移动版