微任务和宏任务练习题

61 阅读1分钟
function func1(){
    console.log('func1 start');
    return new Promise(resolve=>{resolve('OK')});
}
function func2(){
    console.log('func2 start');
    return new Promise(resolve=>{setTimeout(()=>{ resolve('OK') },10)});
}
console.log(1);
setTimeout(async () => {
    console.log(2);await func1();console.log(3);
}, 20);
for (let i = 0; i < 90000000; i++) {} //循环大约要进行80MS左右
console.log(4);
func1().then(result=>{console.log(5)});
func2().then(result=>{console.log(6)});
setTimeout(() => {console.log(7)}, 0);
console.log(8);