关于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才会阻塞下一句代码的执行 如果是其他值 则不会阻塞下一句代码的执行
posted @ 2022-09-22 14:10  沁霓  阅读(53)  评论(0)    收藏  举报