异步生成器和Observables之间有什么区别?

时间:2018-01-30 00:52:44

标签: javascript asynchronous promise async-await generator

Async generators:示例是可读流

Observables:处理异步数据流的基本协议

这两种方法似乎都是解决异步数据流相同问题的不同方法。除了品味之外,两者之间是否存在实际差异?

2 个答案:

答案 0 :(得分:6)

从提议的API描述来判断:

  • observables可以有多个订阅者(广播),异步迭代器只能有一个读者(单播)
  • observables推送事件,而异步迭代器需要轮询
  • 诚然,outerHTML构造函数的惰性确实模糊了行

Observable基本上是事件发射器,而异步迭代器可用于形成流式传输。我还建议https://github.com/jsdom/jsdom作为一本好读物。

答案 1 :(得分:0)

我相信答案可以在他们的定义中找到。 生成器功能可以停止,然后再继续。 一个Observable也可以停止并稍后继续,但是您需要先订阅它才能开始。

第一个区别- 调用该函数时,将执行生成器。 从技术上讲,Observable仅在您订阅时才开始执行或发出值。