天天看点

理解await操作符用于等待一个Promise对象

红宝书上对await的解释:

JavaScript运行时在碰到await关键字时,会记录在哪里暂停执行。等到await右边的值可用了,JavaScript运行时会向消息队列中推送一个任务,这个任务会恢复异步函数的执行。

await后跟一个Promise实例和跟一个立即可用的值稍有不同。下面还是红宝书上的例子,我尝试画了任务队列的图示再解释一下红宝书的说明:

理解await操作符用于等待一个Promise对象

下面是红宝书的解释:

理解await操作符用于等待一个Promise对象

下面是任务队列的状态,图上方是队头,序号对应如对或出队的顺序:

理解await操作符用于等待一个Promise对象

继续阅读