async 函数
async函数是什么?一句话,它就是Generator函数的语法糖。async函数就是将Generator函数的星号(*)替换成async,将yield替换成await,仅此而已
1 | function getSomething() { |
async 函数的实现原理
async 函数的实现原理,就是将 Generator 函数和自动执行器,包装在一个函数里。
1 | async function fn(args) { |
所有的 async 函数都可以写成上面的第二种形式,其中的 spawn 函数就是自动执行器。
下面给出 spawn 函数的实现,基本就是前文自动执行器的翻版。
1 | function spawn(genF) { |