js异步队列之理解

起因 

  最近看到一篇关于js异步执行顺序的解答,觉得有所收获,遂记录下来。

marcotask和microtask

  js中异步队列可以分为两类,marcotask队列和microtask队列, marcotask队列里面包含有1.script中的所有同步代码,2.setTimeout,3. setInterval,4.setImmediate5. I/O操作, 6. UI渲染,而microtask队列主要是有1.process,2.nextTick, 3.promise等等,  异步队列执行的顺序主要是 先从marcotask中取出一个任务(第一次就是取出所有同步的代码),执行完成之后从microtask队列取出所有的任务,执行完成之后, 再从marcotask队列中取出一个, 循环往复,直到所有队列的任务被完成.

猜你喜欢

转载自www.cnblogs.com/024-faith/p/9578275.html