観測可能演算子:マージとコンバージョン
9623 ワード
合併する
名前としてマージは、入力オブザーバブルを入力オブザーバブルに出力オブザーバブルにマージします.出力可能な出力
complete
すべての入力オブザーバブルcomplete
. 入力オブザーバブルにエラーがあれば、そのエラーは直ちに出力可能な出力に送られる.import Rx from 'rxjs';
const interval1 = Rx.Observable.interval(1000).map(i => `first: ${i}`);
const interval2 = Rx.Observable.interval(500).map(i => `second: ${i}`);
const combinedInterval = Rx.Observable.merge(interval1, interval2).take(10);
combinedInterval.subscribe(
data => console.log(`${data}`)
);
二組合体したinterval
観測可能なものcombinedInterval
観測可能.最初の間隔は1秒ごとに出力されます、そして、2番目は1秒おきにそれをします.出力は次のようになります.second: 0
first: 0
second: 1
second: 2
first: 1
second: 3
second: 4
first: 2
second: 5
second: 6
merge
また、統合可観測性の同時実行を指定できます.例えば、私が3を結合するならばinterval
ベースのオブザーバブルが、私はそれらの2つを一度に実行するだけで、私はスケジュール(など)パラメータを渡すことができます.import Rx from 'rxjs';
const interval1 = Rx.Observable.interval(1000).map(i => `first: ${i}`).take(10);
const interval2 = Rx.Observable.interval(500).map(i => `second: ${i}`).take(5);
const interval3 = Rx.Observable.interval(500).map(i => `third: ${i}`).take(10);
const combinedInterval = Rx.Observable.merge(interval1, interval2, interval3, 2); // 2 at a time
combinedInterval.subscribe(
data => console.log(`${data}`)
);
第2の可観測性からの5つの値まで、第1および第2の観測可能な実行は、放たれた.それから、3番目の観測可能なものは最初の1つを放出値で結合します.出力は以下のようになります.second: 0
first: 0
second: 1
second: 2
first: 1
second: 3
second: 4
first: 2
third: 0
third: 1
first: 3
third: 2
third: 3
first: 4
third: 4
third: 5
first: 5
third: 6
third: 7
first: 6
third: 8
third: 9
first: 7
first: 8
first: 9
コンステ
コンディションはマージと少し異なります.両方ともオブザーバーブルを結合します
concat
待機する前に、それが次のいずれかを開始する完了することができます.すべてのオブザーバブルは、順番に連結されます.マージの場合、それらのすべてが実行されますが、出力の単一のストリームを提供します.import Rx from 'rxjs';
const interval1 = Rx.Observable.interval(1000).map(i => `first: ${i}`).take(5);
const interval2 = Rx.Observable.interval(500).map(i => `second: ${i}`).take(5);
const combinedInterval = Rx.Observable.concat(interval1, interval2);
combinedInterval.subscribe(
data => console.log(`${data}`)
);
So concat
出力を組み合わせますが、出力順序を維持します.コンソールログは次のようになります.first: 0
first: 1
first: 2
first: 3
first: 4
second: 0
second: 1
second: 2
second: 3
second: 4
Reference
この問題について(観測可能演算子:マージとコンバージョン), 我々は、より多くの情報をここで見つけました https://dev.to/bhagatparwinder/observable-operators-merge-concat-3gidテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol