假设我们有以下代码段。有人可以解释你期望打印出来的内容以及原因吗?
setTimeout(() => {
console.log("check 00");
}, 0);
new Promise((resolve, reject)=>{
console.log("check 01");
resolve();
}).then(()=>{
console.log("check 02");
})
console.log("check 03");
通过在终端中运行,我得到了以下输出。
check 01
check 03
check 02
check 00
我理解check 01
将首先打印出来,因为Promise执行函数会立即由Promise实现执行。然后我们有check 03
因为JS的运行完成时间安排。
但是check 02
和check 00
呢?