亲宝软件园·资讯

展开

JS异步宏队列微队列 JS异步宏队列微队列原理详解

蒋先森 人气:0
想了解JS异步宏队列微队列原理详解的相关内容吗,蒋先森在本文为您仔细讲解JS异步宏队列微队列的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:JS,异步,宏队列,微队列,下面大家一起来学习吧。

先看一张我绘制的原理图

原理图

setImmediate 也是宏任务,在 Node 环境下,微任务还有 process.nextTick

JS 中用来存储待执行回调函数的队列包含 2 个不同特定的列队

JS 执行时会区别这 2 个队列

下面这个例子可以看出 Promise 要先于 setTimeout 执行

setTimeout(() => { // 立即放入宏队列
  console.log('settimeout callback1()');
}, 0);
setTimeout(() => { // 立即放入宏队列
  console.log('settimeout callback2()');
}, 0);


Promise.resolve(1).then(value => { // 立即放入微队列
  console.log('Promise onResolved1()', value);
})
Promise.resolve(2).then(value => { // 立即放入微队列
  console.log('Promise onResolved2()', value);
})

// Promise onResolved1() 1
// Promise onResolved2() 2
// settimeout callback1()
// settimeout callback2()

全文完。

加载全部内容

相关教程
猜你喜欢
用户评论