Skip to main content

async 的实现和常用方法

async实现和常用方法 async 函数的实现原理,就是将 Generator 函数和自动执行器,包装在一个函数里。 Generator 函数是协程在 ES6 的实现,最大特点就是可以交出函数的执行权(即暂停执行)。 协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。

参考