美文网首页
使用generator模拟async-await

使用generator模拟async-await

作者: 习惯水文的前端苏 | 来源:发表于2022-04-23 16:42 被阅读0次

    \bullet 其他手写系列

        mini-diff \vert  promise \vert  vue3响应式 \vert  vue2响应式 \vert  mini-vue-router \vert  mini-vuex 

        mini-cli \vert  mini-webpack \vert  mini-commonJs \vert  bind、call、apply、bind 

        mini-+-*/

    \bullet generator语法

    \bullet 分析

        由于async是promise的语法糖,故需要在内部return一个promise

        由于promise需要手动调用.then来获取值,故需要手动实现一个函数来自动调用.then

        由于.then的返回值仍然是一个promise,故这样仍然不能直接获取

        由于generator通过.next获取的返回值是不需要二次调用其他api的,故可以将思路转成实现一个函数自动调用.next

    \bullet 实现

        由于generator是一个部署了iterator接口并返回迭代器对象的函数,因此其实是可以考虑手动部署iterator+for...of遍历,但是对于关键字yield而言,暂时未想到好的替代方式,故暂直接用generator模拟一下?

    相关文章

      网友评论

          本文标题:使用generator模拟async-await

          本文链接:https://www.haomeiwen.com/subject/ieeaertx.html