迭代器处理异步

const callBack = function(fileName) {
return new Promise(function(resolve, reject) {
setTimeout(() => {
resolve()
}, 4000)
})
}
const gen = function*() {
let f1 = yield callBack()
console.log('a1')
let f2 = yield callBack()
console.log('a2')
}
function run(gen) {
let g = gen()
function next() {
let result = g.next()
if (result.done) return result.value
result.value.then(function() {
next()
})
}
next()
}
run(gen)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 3,335评论 0 3
  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 8,856评论 1 56
  • 首先这篇文章是参考阮一峰老师的ES6章节中的generator部分写的,再加上我自己的理解,新手如果要学习ES6推...
    c菜鸟阅读 619评论 0 0
  • title标题: A Web Crawler With asyncio Coroutinesauthor作者: A...
    彰乐乐乐乐阅读 2,250评论 0 8
  • 弄懂js异步 讲异步之前,我们必须掌握一个基础知识-event-loop。 我们知道JavaScript的一大特点...
    DCbryant阅读 2,910评论 0 5

友情链接更多精彩内容