【发布时间】:2016-03-19 09:58:33
【问题描述】:
我正在努力理解如何使用生成器函数和迭代器来实现我正在考虑编写的库的各种设计选项。
已经了解了简单的生成器功能,我现在正在努力研究互联网上的示例,这些示例展示了如何将生成器与 Promises 集成。
一个问题是所有文章都是在关于 Promises 的 ES2015 规范可用之前编写的,它们都使用了 3 个我不知道细微差别的第三方库。
所以我不太明白的问题是,如果你 yield 并且生成器函数调用 .next(Promise 返回函数) 是否会在调用 .next 函数或返回的 promise 时继续超出 yield 的语句解决。这些例子似乎暗示它要等到 Promise 解决,但我不明白为什么。
【问题讨论】:
-
你读过哪些文章你认为已经过时了? (相关特性)生成器和 Promise 早在规范批准之前就已经勾勒出来了。
-
@Bergi 我不认为这些文章已经过时了,它们只是引用了我不确定是否与规范完全相同的外部承诺库。
-
@torazaburo - 我的问题是完全重复的。我在那里投票赞成答案
-
使用生成器作为
aync/await的解决方法仅依赖于Promise.resolve和Promise.prototype.then,这两者在every proper promise libary 中都已完全标准化
标签: javascript promise generator ecmascript-6