宏任务与微任务

宏任务与微任务
最新回答
只想说再见╮

2023-07-30 14:17:51

宏任务与微任务的区别如下

宏任务定义:宏任务是事件循环中的一个主要任务单元,每个宏任务代表一个需要执行的操作。 特性:宏任务形成一个任务队列,任务队列中的任务会按顺序依次执行,只有当当前宏任务执行完毕后,才会轮到下一个宏任务。 示例:setTimeout是典型的宏任务,它的回调会在宏任务队列中等待执行。

微任务定义:微任务是在宏任务执行过程中插入的较小任务,通常用于处理一些需要尽快执行的操作。 特性:微任务会在当前宏任务执行完毕后立即执行,而不会等待下一个宏任务。如果有多个微任务,它们会在当前宏任务之后依次执行完毕。 示例:Promise.then是微任务的典型代表,它会在Promise对象的状态改变后立即执行,即使这个改变发生在同步代码执行完毕后。

总结: 宏任务是事件循环中的主线流程,每个宏任务代表一个独立的操作。 微任务则是在宏任务执行过程中插入的临时插曲,用于处理需要尽快执行的操作。 宏任务和微任务的执行顺序遵循先宏后微的原则,即先执行完所有宏任务,再执行所有微任务。