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