Javascript中的事件循环机制详解
在JavaScript中,事件循环机制是处理异步操作的重要机制。以下是事件循环的简化概述和代码示例:
- 宏任务(Macro Task): 包括整体代码script,setTimeout,setInterval。
- 微任务(Micro Task): 包括Promise,MutationObserver。
事件循环会在每一次循环中执行以下步骤:
- 检查宏任务队列,执行一个宏任务。
- 执行所有微任务。
- 返回到步骤1,继续执行下一个宏任务,如此循环。
示例代码:
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0);
Promise.resolve().then(function() {
console.log('promise1');
}).then(function() {
console.log('promise2');
});
console.log('script end');
// 输出顺序为:
// script start
// script end
// promise1
// promise2
// setTimeout
在这个例子中,首先执行整体script的代码,然后是setTimeout的回调,接着是两个Promise的then方法注册的回调。这就是JavaScript中的事件循环机制,保证了异步操作的顺序执行。
评论已关闭