有语言的 async/await 是直接改写成嵌套回调的吗?cherbim3年前发布800看到这个隔壁帖子( )有感。async/await 的基本逻辑是这样:和这个模型最为贴近的是协程(生成器),await 相当于一次 yield ,然后等待外面 call 自己的作为调度器的某个东西再 resume 进来。Swift 5.5 加入了 async/await ,把这个调度器做到了系统的事件循环里,所以(起初)需要新系统支持。然后查了一下 TypeScript 和 Rust 的实现,都是基于状态机,原理其实和 Swift 的类似。但换种方向直观理解,async/await 好像也可以改写成嵌套回调,比如:因为有闭包,所以循环也可以通过改成尾递归再写成这种格式。了解了下这种格式有个学名叫 Continuous-passing style (
没有回复内容