关于js的事件循环
1:事件循环概念
js是单线程的,js在执行时分为同步任务和异步任务,js都是先执行同步任务再执行异步任务,异步任务分为微任务(promise.then,process.nextick)、宏任务(setTimeOut),当同步任务执行完成之后,事件循环会反复查找栈中待执行的任务,会优先执行存在栈中的微任务,栈中微任务执行完成之后再执行栈中的宏任务。
2:代码执行顺序注意事项
- new Promise 是直接执行的
- promise.then 是微任务
- nextick 优先级比 微任务高
- new Promise 里面 如果 return Promise 则多加一次微任务,return Prromise.resolve()多加两次微任务
- await 后面如果返回的是一个Promise才会阻塞下一句代码的执行 如果是其他值 则不会阻塞下一句代码的执行

浙公网安备 33010602011771号