2017-07-15 33 views
3

私は最近Reactive Extensionsの作業を開始しました。主にAngular 2を使用してクライアント側で観測されました.Rxのオブザーバブルと非同期のdotnetの概念は非常に似ています。あるものが適用可能で、他がそうでない具体的な例がありますか?それ以外の場合、MicrosoftがRx.Netを導入した理由は他にあります。観測可能なものはReactive Extensionsの核心です。いかなるリンクやリアルタイムの例でも十分です。私はスレッド/パフォーマンスの賢明さの違いを探しています。RxJS/Rx.Net Observable-subscribe vs async-await

+1

質問の要点は、RxとAsync Awaitという2つの抽象概念を区別することです。私は質問の範囲を狭めるので、それが具体的であることは有意義ではありません。問題は特定の答えを得るよりもむしろ議論を促さなければならなかった。それ以上の議論をするためにこの質問を開いてください。 – Sreenath

答えて

9

これらは異なる抽象である。この答えのすべては、JavaScriptとC#に等しく適用されます。

async/awaitを使用すると、1つの非同期操作を非同期に待つことができます。この「非同期操作」は1回だけ完了でき、1つの結果が得られます。

オブザーバブルを使用すると、一連のデータを購読し、そのストリームに到着するデータに反応することができます。このサブスクリプション・モデルでは、時間の経過とともに複数のデータ項目を使用できます。

+0

この違いを理解していただきありがとうございます。しかし、私はまだ観測対象が何を意味するものであっても、それらの特徴を容易にする構造が存在すると感じています。たとえばObservable.subscribeとイベントハンドラは同じことをします。私はここで何かを逃しているのですか、それともまったく間違っていますか? – Sreenath

+0

@Sreenath:まったくありません。 Rxは、初期の「LINQ over events」と呼ばれていました。しかし、Rxはイベントよりはるかに優れています。より一貫して柔軟に使用できます。私は、観察可能なものは本質的に事象の代わりと考える。彼らは何十年も前からデザインをコピーするのではなく、今日設計されていればイベントがどうなるかということです。 –