4

merge と mergeAll の違いは何ですか? どちらも私には同じようです: http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-mergeAll http://reactivex.io/rxjs/class/es6/Observable. js~Observable.html#static-method-merge

4

2 に答える 2

5

との両方mergeを!からmergeAll 継承します。mergeMap

マージすべて

mergeAll恒等関数mergeMapで呼び出すのと同じ( )const identity = x => x

mergeAll() === mergeMap(obs$ => obs$)

例:

of(a$, b$, c$)
  .pipe(
    mergeAll(),
  )
  .subscribe()

// Same as
of(a$, b$, c$)
  .pipe(
    mergeMap(obs$ => obs$)
  )
  .subscribe()

a$どちらも受信オブザーバブル ( 、b$および)をサブスクライブし、c$それらの値をデータ コンシューマーに渡します。したがって、a$b$およびは、内部観測対象c$と見なされます。

マージ

前のセクションの知識があれば、理解mergeは難しくありません。

merge(a$, b$, c$).subscribe()本質的に同じです

const observables = [a$, b$, c$];

new Observable(subscriber => {
  for (let i = 0; i < observables.length; i++) {
    subscriber.next(observables[i]);
  }

  subscriber.complete();
}).pipe(
  mergeAll()
).subscribe();
于 2020-04-04T14:17:08.140 に答える