Observable似乎只是“事件流”。 https://egghead.io/lessons/rxjs-introducing-the-observable的作者似乎倾向于将它们称为流(即使他试图将它们称为“异步集合”,或“随时间推移而来的集合”,这似乎是人为的)。
Streams是直观的东西,随着时间的推移,imho。
(你已经失踪的反应式编程的介绍)https://gist.github.com/staltz/868e7e9bc2a7b8c1f754的作者一路走来,只是称它们为“事件流”。
那么,为什么他们称为Observables而不仅仅是EventStreams?
答案 0 :(得分:1)
名称Observable
来自"Observer pattern",这部分启发了反应式编程。 Jafar Husain在this interview中给出了很好的解释。
我认为EventStream
过于宽泛。 Observable
有点像事件流的子类型。您还可以拥有Subject
,BehaviorSubject
以及封装流概念的所有其他类型的内容。
Observable
是一个好名字,因为你唯一可以做的就是"观察"它。您可以.subscribe
对所发生的价值采取行动,但您无法添加事件"它。 EventStream
并不代表名称。 EventStream.addEvent('click')
似乎是一种非常合理的方法。
在一天结束时,它真的只是一个意见,但是:)
答案 1 :(得分:0)
我不同意EventStream太广泛了。这太具体了。
观察者观察某事。时钟是可观察的。它可以建模为单个更改值。注意'值'。
Observable以观察者设计模式命名。
将可观察对象(例如时钟)建模为事件流会迫使用户的本体可能与其概念词典不兼容。
将Observable作为任何观察的主题,保持最高的抽象和有用性。