JavaScript单线程执行
- 同步栈执行完成后,再执行异步队列
- 异步队列中分为宏任务和微任务
- 微任务比宏任务优先执行
实例:
setTimeout(function () {
console.log(1);
Promise.resolve().then(function () {
console.log(2);
});
}, 0);
setTimeout(function () {
console.log(3);
}, 0);
Promise.resolve().then(function () {
console.log(4);
});
console.log(5);
结果:
5
4
1
2
3
PS:node低版本和HTML页面打印可能不一样(node运行机制不同)