当前位置: 技术文章>> 详细介绍nodejs中的宏任务与微任务

文章标题:详细介绍nodejs中的宏任务与微任务
  • 文章分类: 后端
  • 10807 阅读
文章标签: nodejs javascript

在Node.js中,宏任务和微任务是异步任务的两种类型,它们在事件循环中按照特定的顺序执行。

宏任务(Macro-tasks)主要包括:

  1. 整体代码script:这是同步执行的。

  2. 定时器setTimeout,setInterval。

  3. 事件绑定。

  4. ajax。

  5. UI渲染。

微任务(Micro-tasks)主要包括:

  1. promise,以及promise的then,catch,finally。

  2. process.nextTick,这是一个Node.js特有的API,它将当前任务放到主栈最后执行,当主栈执行完毕后,先执行process.nextTick,再到等待队列中找微任务。

在事件循环中,一次事件循环机制可以将所有的微任务执行完毕,一次事件循环只能执行一个宏任务。宏任务中的优先级为:setImmediate > setTimeout > 间歇调用 > I/O > 异步ajax。微任务中的优先级为:Process.nextTick > Promise(then,catch,finally)。


推荐文章