乐趣区

关于async:你知道async-await的缺陷吗

文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢。

缺点

应用 async 和 await 后,咱们的代码看起来是同步的。这个就是它的长处。

await 会阻塞前面的代码,直到 promise 实现。但这会可能呈现因为大量的 await,导致 promise 变慢。

因为每个 await 都会期待前一个实现才执行,但应用 promise 尽管代码看起来不是同步的,但申请却是异步的,不会被阻塞。

Demo

比方上面截图是发申请的函数:

当在 mounted 的时候,同时执行多个 await 函数。
如下截图所示:

后果如下截图所示:

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

那怎么解决呢?

去掉 async await

后果如下截图所示:

这个不必多说了,毕竟传统写法就是这样的。

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

哪还有没有其余耗时更低的办法呢?

赋值给变量

后果如下截图所示:

统计工夫一下就下来了,不会呈现阻塞导致申请同步

相对而言,该办法比拟适宜。毕竟持续应用了 await。

最初

  • 文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢。
  • 有疑难和问题,请留言。
  • 如果感觉文章还能够,请点赞或珍藏,谢谢。
退出移动版