2017-07-15 101 views
3

我最近开始研究Reactive Extensions,主要是使用Angular 2的客户端的可观察性.Rex的observables和dotnet的async-await的概念似乎非常相似。是否有任何具体的例子,其中一个适用而另一个不适用。如果没有,微软推出Rx.Net的原因是否有其他原因,因为观察者站在反应扩展的核心位置。任何链接或实时示例就足够了。我正在寻找差异线程/性能明智。RxJS/Rx.Net Observable-subscribe vs async-await

+1

问题的症结在于区分两个抽象 - Rx和Async Await。我不认为具体有意义,因为它减少了问题的范围。这个问题必须鼓励讨论,而不是得到具体的答案。你能否请开放这个问题进一步讨论? – Sreenath

回答

9

它们是不同的抽象。这个答案中的所有内容同样适用于JavaScript和C#。

async/await允许您异步等待单个异步操作。这个“异步操作”只能完成一次,只有一个结果。

Observable允许您订阅数据流,并对到达该数据流的数据作出反应。此订阅模式允许随时间推移的多项数据。

+0

谢谢你帮助我了解差异。但我仍然认为,无论可观察的事情是做什么的,都已经有了可以促进这些特征的构造。举例来说,Observable.subscribe和事件处理程序可以做同样的事情。我在这里错过了什么,或者我完全错了吗? – Sreenath

+0

@Sreenath:一点也不。 Rx在其早期通常被称为“LINQ over events”。但是,Rx远远胜过事件;它具有更一致和更灵活的用法。我认为可观察到的本质上是对事件的替代;他们是事件*如果今天设计而不是复制几十年前的设计将会如何。 –

相关问题