console.log(1); // 宏仁务 2 setTimeout(_ => { console.log(2); }, 1000); async function fn() { console.log(3); // 宏仁务 3 setTimeout(_ => { console.log(4); }, 20); // 结果为失败 // 所以 微任务 1 // 报错永远不会执行 return Promise.reject(); } async function run() { console.log(5); await fn(); // 微任务 1 console.log(6); } run(); // 需要执行 150 MS 左右 for (let i = 0; i < 90000000; i++) {} // 宏仁务 4 setTimeout(_ => { console.log(7); // 立即执行 new Promise(resolve => { console.log(8); // 微任务 5 resolve(); }).then(_ => { console.log(9); }) }, 0); console.log(10); // 1 // 5 // 3 // 10 // Uncaught (in promise) undefined // 7 // 8 // 9 // 4 // 2
Promise 笔试题-02
关注
打赏