欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js事件循环(分为同步和异步任务)

程序员文章站 2023-11-10 14:00:52
为了提高效率,分为同步和异步任务(需要等待io处理完返回结果后再执行的任务) 1. 所有同步任务都在主线程上执行,形成执行栈 2. 但异步任务返回结果后,将要处理的事件添加进任...

为了提高效率,分为同步和异步任务(需要等待io处理完返回结果后再执行的任务)

1. 所有同步任务都在主线程上执行,形成执行栈

2. 但异步任务返回结果后,将要处理的事件添加进任务队列(事件队列,消息队列)

3.一旦主线程的所有同步任务执行完,主线程就读取任务队列里的异步任务并执行

主线程运行时产生堆和栈,栈中代码调用各种外部api,在任务队列中加入各种事件,当栈中代码都执行完毕,主线程就会读取任务队列里的事件并执行