MJJ工作室
  • 首页
  • 论坛
  • 短链接在线生成
  • 打赏作者
  • 首页
  • 论坛
  • 短链接在线生成
  • 打赏作者
评分
分享
QQ空间微博QQ好友海报分享复制链接
  • 首页
  • 社区
  • 论坛
  • V2EX
  • 正文

有语言的 async/await 是直接改写成嵌套回调的吗?

cherbim等级-LV6-MJJ工作室3年前发布
800

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

评分
欢迎为Ta评分
分享
QQ空间微博QQ好友海报分享复制链接
收藏
请登录后发表评论

登录注册

    没有回复内容

  • MJJ工作室

    MJJ工作室

    一个分享互联网羊毛和福利的地方
  • 友链申请 一键打赏 广告合作 关于我们

    Copyright © 2020 ·  MJJ工作室 · cherbim
    扫一扫加微信-MJJ工作室
  • 扫码加入QQ群-MJJ工作室

    扫码加入QQ群

    扫码添加TG频道-MJJ工作室

    扫码添加TG频道
扫码添加微信-MJJ工作室
在手机上浏览此页面