2026年物业门控五金耗材推荐榜:中企创联工业品,小区/写字楼/物业多场景门控配件全覆盖
2026/3/2 14:07:46
// 理解事件循环的执行顺序 console.log('1. 同步任务开始'); setTimeout(() => { console.log('6. 宏任务执行'); }, 0); Promise.resolve().then(() => { console.log('4. 微任务执行'); }); console.log('2. 同步任务继续'); Promise.resolve().then(() => { console.log('5. 另一个微任务'); }); console.log('3. 同步任务结束'); // 输出顺序:1 2 3 4 5 6console.log('1. 同步任务开始');:这是一个同步任务,会立即执行并输出1.同步任务开始。console.log('2. 同步任务继续');:同样是同步任务,继续执行并输出2. 同步任务继续。console.log('3. 同步任务结束');:同步任务结束,输出3. 同步任务结束。setTimeout(() => { console.log('6. 宏任务执行'); }, 0);:setTimeout是一个宏任务,虽然设置的延迟时间为 0 毫秒,但它不会立即执行,会被放入宏任务队列,等当前调用栈清空后才会执行。Promise.resolve().then(() => { console.log('4. 微任务执行'); });和Promise.resolve().then(() => { console.log('5. 另一个微任务'); });:Promise的then方法是微任务,会被放入微任务队列。当同步任务执行完后,会优先执行微任务队列中的所有任务。1. 同步任务开始、2. 同步任务继续、3. 同步任务结束。4. 微任务执行、5. 另一个微任务。6. 宏任务执行。