今天在网上无意中看到了一道 Javascript 的面试题,觉得挺好的,需要对 Javascript 的异步和 Promise 有较深入的理解才能做对。分享给大家,如果做对的,就当一次测验,说明对 Javascript 的异步和 Promise 理解得比较好;没有做对的,好好补一下这方面知识。
题目:
(function() {
setTimeout(() => {
console.log(0);
});
new Promise(resolve => {
console.log(1);
setTimeout(() => {
resolve();
Promise.resolve().then(() => {
console.log(2);
setTimeout(() => console.log(3));
Promise.resolve().then(() => console.log(4));
});
});
Promise.resolve().then(() => console.log(5));
}).then(() => {
console.log(6);
Promise.resolve().then(() => console.log(7));
setTimeout(() => console.log(8));
});
console.log(9);
})();
请写出上述代码的执行结果。
可以把答案写到评论区,一起讨论[大笑][大笑]