JavaScript事件循环中宏任务和微任务是如何协同工作的?

2026-04-01 14:550阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1231个文字,预计阅读时间需要5分钟。

JavaScript事件循环中宏任务和微任务是如何协同工作的?

首先,看一段代码:`script start, script end, promise1, promise2, setTimeout`。

其中,`script start` 和 `script end` 表示脚本开始和结束,`promise1` 和 `promise2` 是两个 Promise 对象,`setTimeout` 是一个异步操作。

正确答案是:这些代码涉及到的概念包括:

- 事件循环(Event Loop)- 宏任务(MacroTask)- 微任务(MicroTask)

具体来说:

1. 事件循环(Event Loop):JavaScript 运行时,事件循环是负责处理异步事件和任务的关键机制。它不断地检查是否有可执行的异步任务,并按照一定的顺序执行它们。

2. 宏任务(MacroTask):宏任务包括代码块、定时器(setTimeout、setInterval)等。它们在事件循环的某个阶段执行。

3. 微任务(MicroTask):微任务包括 Promise 的 resolve/reject、process.nextTick 等。它们在宏任务执行完毕后立即执行。

在这个例子中,`script start` 和 `script end` 是宏任务,`promise1` 和 `promise2` 是微任务,`setTimeout` 是宏任务。当脚本执行完毕后,事件循环会按照顺序执行这些任务。

阅读全文

本文共计1231个文字,预计阅读时间需要5分钟。

JavaScript事件循环中宏任务和微任务是如何协同工作的?

首先,看一段代码:`script start, script end, promise1, promise2, setTimeout`。

其中,`script start` 和 `script end` 表示脚本开始和结束,`promise1` 和 `promise2` 是两个 Promise 对象,`setTimeout` 是一个异步操作。

正确答案是:这些代码涉及到的概念包括:

- 事件循环(Event Loop)- 宏任务(MacroTask)- 微任务(MicroTask)

具体来说:

1. 事件循环(Event Loop):JavaScript 运行时,事件循环是负责处理异步事件和任务的关键机制。它不断地检查是否有可执行的异步任务,并按照一定的顺序执行它们。

2. 宏任务(MacroTask):宏任务包括代码块、定时器(setTimeout、setInterval)等。它们在事件循环的某个阶段执行。

3. 微任务(MicroTask):微任务包括 Promise 的 resolve/reject、process.nextTick 等。它们在宏任务执行完毕后立即执行。

在这个例子中,`script start` 和 `script end` 是宏任务,`promise1` 和 `promise2` 是微任务,`setTimeout` 是宏任务。当脚本执行完毕后,事件循环会按照顺序执行这些任务。

阅读全文