blog
blog copied to clipboard
微任务,宏任务
微任务,宏任务
思考下面的代码
setTimeout(function () {
console.log(1);
});
new Promise(function(resolve,reject){
console.log(2)
resolve(3)
}).then(function(val){
console.log(val);
})
// 加入 nextTick()的回调函数
process.nextTick(function () {
console.log('nextTick 执行1'); });
process.nextTick(function () {
console.log('nextTick 执行2');
}); // 加入 setImmediate()的回调函数
setImmediate(function () {
console.log('setImmediate 执行1'); // 进入 循环
process.nextTick(function () {
console.log('拦截');
});
});
setImmediate(function () {
console.log('setImmediate 执行2'); });
console.log('正常执行');
正常执行
nextTick 执行1
nextTick 执行2
setImmediate 执行1
拦截
setImmediate 执行2
建议阅读 https://github.com/wuweijia/wuweijia.github.io/issues/51