2017-07-15 102 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遠遠勝過事件;它具有更一致和更靈活的用法。我認爲可觀察到的本質上是對事件的替代;他們是事件*如果今天設計而不是複製幾十年前的設計將會如何。 –

相關問題