Observables(Rx.js)与ES2015生成器相比如何?
- 论坛
- Observables(Rx.js)与ES2015生成器相比如何?
21 浏览
Observables(Rx.js)与ES2015生成器相比如何?
就我所了解,以下是解决异步编程工作流的技术:
- 回调函数(CSP)
- Promise
较新的方法:
- Rx.js Observables(或mostjs、bacon.js、xstream等)
- ES6生成器
- Async/Await
我们现在正从回调函数和Promise转向这些较新的方法。根据我目前的理解,Async/Await更像是对ES2015生成器的更干净的抽象。
我无法理解的是Observables和生成器之间的概念差异。我广泛使用了它们,并没有使用上的困扰。
让我困惑的是Observables和生成器的使用场景。我得出的结论是,它们最终解决的问题是相同的 - 异步性。唯一我看到的潜在差异是,生成器本质上为代码提供了命令式语义,而使用Rxjs的Observables似乎提供了响应式范式。但是,仅此而已吗?
这是否应该是选择Observable和生成器之间的标准?有什么优缺点。
我是否没有看到大局?
此外,随着Observable最终进入未来的Ecmascript,Promise(带有可取消令牌)/ Observable /生成器会相互竞争吗?