async函数返回值
-
📑结论:
async函数在抛出返回值时,会根据返回值类型开启不同数目的微任务- return结果值:非
thenable、非promise(不等待) - return结果值:
thenable(等待 1个then的时间) - return结果值:
promise(等待 2个then的时间)
- return结果值:非
await右值类型区别
-
接非
thenable类型,会立即向微任务队列添加一个微任务then,但不需等待 -
接
thenable类型,需要等待一个then的时间之后执行 -
接
Promise类型(有确定的返回值),会立即向微任务队列添加一个微任务then,但不需等待-
TC 39 对
await后面是promise的情况如何处理进行了一次修改,移除了额外的两个微任务,在早期版本,依然会等待两个then的时间
-
作者:Squirrel_
链接:juejin.cn/post/719474…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。