JavaScript 事件循环, 同是异步任务,为何要划分宏任务与微任务?

2019-07-25 10:21:13 +08:00
 zhzbql

rt,望大神解惑

3381 次点击
所在节点    JavaScript
7 条回复
whypool
2019-07-25 10:44:42 +08:00
啥玩意?
VikingX
2019-07-25 10:45:54 +08:00
因为浏览器就是酱规定的?
royzxq
2019-07-25 11:09:29 +08:00
因为耗时么? 不太懂 orz
s0f
2019-07-25 11:09:58 +08:00
大概因为两者优先级不同?
autoxbc
2019-07-25 11:14:09 +08:00
如果当前宏任务生成的微任务,排到后续所有宏任务的后面,延迟太长是一个问题,等到真正执行时,数据都被污染了
zy445566
2019-07-25 11:16:09 +08:00
简单来说可以这样理解:
宏任务就是上级给我们布置的任务跟时间相关,只要按时间完成即可。
微任务就是上级给我们的线上 BUG 很紧急,要尽快完成。
但我们宏任务工期已经定好了,所以要在宏任务工期完成后就要立即完成紧急 BUG (运行微任务)。
otakustay
2019-07-25 11:38:26 +08:00
因为宏任务要等得太久了,大家等不及……毕竟对 JS 来说 16ms 是一条底线

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/586018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX