async/await 协程
https://developer.mozilla.org/zh-CN/docs/learn/JavaScript/异步/Async_await
https://juejin.cn/post/6844903599932178439
Async/await 让你的代码看起来是同步的,在某种程度上,也使得它的行为更加地同步。 await 关键字会阻塞其后的代码,直到promise完成,就像执行同步操作一样。它确实可以允许其他任务在此期间继续运行,但您自己的代码被阻塞。
async/await的缺陷
了解Async/await
是非常有用的,但还有一些缺点需要考虑。
Async/await
让你的代码看起来是同步的,在某种程度上,也使得它的行为更加地同步。 await
关键字会阻塞其后的代码,直到promise完成,就像执行同步操作一样。它确实可以https://juejin.cn/post/6844903599932178439允许其他任务在此期间继续运行,但您自己的代码被阻塞。
这意味着您的代码可能会因为大量await
的promises相继发生而变慢。每个await
都会等待前一个完成,而你实际想要的是所有的这些promises同时开始处理(就像我们没有使用async/await
时那样)。
有一种模式可以缓解这个问题——通过将 Promise
对象存储在变量中来同时开始它们,然后等待它们全部执行完毕。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Rick!
评论