写一段js的宏任务和微任务
时间: 2023-11-02 09:18:16 浏览: 138
好的,我可以为您解答。
在 JavaScript 中,宏任务和微任务是异步执行的两种任务类型。宏任务通常是指在主任务之后执行的任务,而微任务是在当前任务执行完毕后马上执行的任务。
这里是一个简单的示例,展示了如何创建宏任务和微任务:
```javascript
console.log('宏任务1');
setTimeout(function() {
console.log('宏任务2');
Promise.resolve().then(function() {
console.log('微任务1');
});
}, 0);
Promise.resolve().then(function() {
console.log('微任务2');
});
```
在这个示例中,`console.log`操作本身是一个宏任务,用来输出字符串“宏任务1”。接下来,通过`setTimeout`函数创建了一个定时器,用来执行一个回调函数。这个回调函数也是一个宏任务,它会输出字符串“宏任务2”。
在回调函数中,我们还创建了一个 Promise 对象,并且通过`.then`方法注册了一个回调函数。这个回调函数本身就是一个微任务,它用来输出字符串“微任务1”。
最后,我们在全局环境中还创建了一个 Promise 对象,并通过`.then`方法注册了另一个回调函数。这个回调函数也是一个微任务,用来输出字符串“微任务2”。
请注意,微任务的优先级比宏任务的优先级更高。因此,微任务“微任务2”会在宏任务“宏任务2”之前执行,而微任务“微任务1”会在宏任务“宏任务2”执行完成后立即执行。
阅读全文