美文网首页
使用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