Javascript Promise 事件循环
我尝试在Chrome上运行以下代码,得到了一个意想不到的结果。
<script>
let p = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('OK');
}, 1000)
})
console.log(p);
</script>
Chrome控制台上打印的Promise对象是enter image description here。(状态=‘已完成’,结果=‘确定’)
但是在VScode控制台上打印的Promise对象是enter image description here。(state='pending',result=undefined)
根据我对JS事件循环的了解,由于setTimeout()是异步的,所以在同步代码完成之前,代码'resolve('OK')‘将不会被执行。
所以我认为VScode的结果是我应该预料到的,对吧?但是,是什么原因造成了Chrome和VScode的不同结果呢?感谢^^
转载请注明出处:http://www.cntdm.com/article/20230510/1293740.html