事件循环

57 阅读1分钟

js是一门单线程的编程语言,如果前一个任务非常耗时,则后续任务不得不等待执行,从而导致程序假死的问题

  1. 同步任务由js主线程执行
  2. 异步任务委托给宿主环境执行(浏览器或node.js)
  3. 已完成异步任务对应的回调函数,会被加入到任务队列中等待执行
  4. js主线程的执行栈被清空后,会读取任务队列中的回调函数,次序执行
  5. js主线程从 "任务队列中"读取异步任务的回调函数,放到执行栈中依次执行, 这个过程是循环不断的,整个运行机制又被称为事件循环