首页 > 编程语言 > 详细

【Javascript基础】宏任务,微任务解析

时间:2021-03-04 10:21:47      阅读:19      评论:0      收藏:0      [点我收藏+]

什么是同步任务,什么是异步任务

同步任务: 当前主线程将要消化执行的任务,这些任务一起形成执行栈。
异步任务: 不进入主线程,而是进入任务队列,即不会马上进行的任务。

任务队列的异步任务又分为宏任务与微任务,也就是说宏任务和微任务虽然都是异步任务,都在任务队列中,但是它们在不同的队列中。

一般情况下,宏任务包含以下内容:setTimeout setInterval, I/O, 事件,postMessage,setImmediate, requestAnimationFrame, UI渲染。

微任务包含以下内容: Promise.then, MutationObserver, process.nextTick

实例讲解

console.log(‘start here‘);

setTimeout(() => {
    console.log(‘setTimeout‘);
}, 0);

new Promise((resolve, reject) => {
    resolve(‘promise result‘);
}).then(value => {
    console.log(value);
});

console.log(‘end here‘);

输出结果:
start here // 同步任务
end here // 同步任务
promise result // 微任务
setTimeout // 宏任务

可以看出是先执行同步任务,然后执行微任务,然后执行宏任务。

【Javascript基础】宏任务,微任务解析

原文:https://www.cnblogs.com/Joannamo/p/14477688.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!