面试知识点:JavaScript主任务、微任务

JavaScript主任务、微任务、宏任务的执行顺序,输出1-9

setTimeout(function() {
    console.log('7')
});
new Promise(function(resolve) {
    console.log('1');
    resolve();
}).then(function() {
    console.log('3');
    new Promise(function(resolve) {
        console.log('4');
        resolve();
    }).then(function() {
        console.log('6');
        setTimeout(function() {console.log('9')
        });
    });
    console.log('5');
    setTimeout(function() {console.log('8')
    });
});
console.log('2');

 

宏任务和微任务

任务队列中有两种任务,一种是宏任务一种是微任务。具体概念我也没有查到,但是可以这样去理解,微任务就是执行完当前主线程任务后就要马上执行的任务,宏任务则是要放到下一次的事件循环中的主线程中的任务。

一般的宏任务有setTimeout和setInterval

微任务则有promise、process.nextTick等
————————————————
版权声明:本文为CSDN博主「伯约同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_56227492/article/details/123037505

posted @ 2022-09-24 09:53  无工时代  阅读(32)  评论(0编辑  收藏  举报