sainture
2/25/2018 - 6:47 AM

mergeMap() operator

flatMap is an alias for mergeMap

// can be used to merge two streams

ngOnInit() {
  
  // produces a number every one second
  const numbers$ = Observable.interval(1000);
  
  // create observable of letters
  const letters$ = Observable.of('a', 'b', 'c', 'd', 'e');
  
  letters$.pipe(
    mergeMap(x => numbers$.pipe(take(5), map(i => i + x)))
  ).subscribe(z => console.log(z));
 
}

// output
// 0a
// 0b
// 0c
// 0d
// 0e
// 1a
// 1b
// ..
// ..
// 4e