说说什么事宏任务和微任务,很多面试官也不懂,你可以拿着个来唬住他!
定义
- 宏任务:常见的定时器,用户交互事件等(宏任务就是特定的这些个任务,没什么特殊含义)
- 微任务:Promise 相关任务,MutationObserver 等(一样,只是一种称呼而已!!!)
真题
function app() {
setTimeout(() => {
console.log("1-1");
Promise.resolve().then(() => {
console.log("2-1");
});
});
console.log("1-2");
Promise.resolve().then(() => {
console.log("1-3");
setTimeout(() => {
console.log("3-1");
});
});
}
app();
输出
1-2
1-3
1-1
2-1
3-1