感谢您阅读本文.
我真的很难完全理解Javascript中异步编程的工作原理.
Promise.resolve().then(randomcallback)
因此,在这种情况下,我认为会发生以下情况:首先,在正常的调用堆栈中,promise .resolve()函数将立即解析Promise对象并返回它.然后.然后()函数判断promise 是否已解析,如果已解析,则将随机回调函数添加到微任务队列中,当调用堆栈为空时,将执行该队列并返回一个新的promise 对象.
对于async await也是一样,await关键字是否只是在promise 得到解决时联系一些web api来侦听?如果是这样的话,如果promise对象在开始时就已经解析了(其中没有settimeout),它还会这样做吗
randomunresolvedpromise.then(randomcallback)
假设RandomUnsolvedPromise在3秒内完成(当调用堆栈为空时)
我看了很多视频,读了很多文章,但在使用Promises和async and Wait时,它们似乎并没有触及事件循环中真正发生的事情.