赞
踩
宏任务:[task1,task2,task3…]颗粒度大 实时性不强,要排队
微任务:缩小颗粒度[task1[m1…],task2[m1…],task3[m1…]],直接插队,实时性强
微任务:在上一个宏任务之后,下一个宏任务之前执行。
第一个 script 标签的代码是第一个宏任务
promise里面是同步,promise.then()是微任务,setTimeout是宏任务。
异步任务大致分为:微任务(micro task,如:promise.then、MutaionObserver等)和宏任务(macro task,如:setTimeout、setInterval、I/O等)。
// 1——>2——>3——>5——>4——>setTimeout console.log(111); setTimeout(()=>{ console.log("setTimeout"); }) console.log(222); let p=new Promise((resolve,reject)=>{ resolve('aa') console.log(333); }) console.log(p); p.then(res=>{ console.log(444,res); },err=>{ console.log(err); }) console.log(555);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。