javascript的宏任务和微任务

执行原理:

javascript的宏任务和微任务_第1张图片

什么是宏任务和微任务:

javascript的宏任务和微任务_第2张图片 

宏任务和微任务的执行顺序:

javascript的宏任务和微任务_第3张图片 

总结:

注意:要分清哪些是宏任务哪些是微任务。

javascript的宏任务和微任务_第4张图片 

经典面试题: 

javascript的宏任务和微任务_第5张图片 

解析:

第一步:会先去查找是否有同步任务?这里面的同步任务有第6行和第12行 ,因为在我们new一个Promise时会同步执行里面的log语句,所以这个会变成一个同步任务,又因为js执行机制会从上到下所以第6行会是第一个打印出来,然后就是第12行的同步任务。

第二步:会去查找异步任务中是否有待执行的微任务,这里面的第9行刚好是一个待执行的微任务,所以它会第三个打印出来。当异步任务里面的所有微任务都执行完之后,会去查找宏任务里面的符合条件的宏任务,这里就会执行第2行代码。

第三步:当所有异步任务结束之后,又会进行下一次大循环。

 感兴趣可以去查阅更多资料 谢谢大家!

你可能感兴趣的:(p2p,linq,网络协议)