RxJS Functions

Observable Creators

  • bindCallback
  • bindNodeCallback
  • combineLatest
  • concat
  • defer
  • forkJoin
  • from
  • fromEvent
  • fromEventPattern
  • generate
  • iif
  • interval
  • merge
  • of
  • onErrorResumeNext
  • pairs
  • partition
  • race
  • range
  • timer
  • using
  • zip

Operators

  • audit
  • auditTime
  • buffer
  • bufferCount
  • bufferTime
  • bufferToggle
  • bufferWhen
  • catchError
  • combineAll
  • concatAll
  • concatMap
  • concatMapTo
  • count
  • debounce
  • debounceTime
  • defaultIfEmpty
  • delay
  • delayWhen
  • dematerialize
  • distinct
  • distinctUntilChanged
  • distinctUntilKeyChanged
  • elementAt
  • endWith
  • every
  • exhaust
  • exhaustMap
  • expand
  • filter
  • finalize
  • find
  • findIndex
  • first
  • flatMap
  • groupBy
  • ignoreElements
  • isEmpty
  • last
  • map
  • mapTo
  • materialize
  • max
  • mergeAll
  • mergeMap
  • mergeMapTo
  • mergeScan
  • min
  • multicast
  • observeOn
  • onErrorResumeNext
  • pairwise
  • pluck
  • publish
  • publishBehavior
  • publishLast
  • publishReplay
  • reduce
  • refCount
  • repeat
  • repeatWhen
  • retry
  • retryWhen
  • sample
  • sampleTime
  • scan
  • sequenceEqual
  • share
  • shareReplay
  • single
  • skip
  • skipLast
  • skipUntil
  • skipWhile
  • startWith
  • subscribeOn
  • switchAll
  • switchMap
  • switchMapTo
  • take
  • takeLast
  • takeUntil
  • takeWhile
  • tap
  • throttle
  • throttleTime
  • throwIfEmpty
  • timeInterval
  • timeout
  • timeoutWith
  • timestamp
  • toArray
  • window
  • windowCount
  • windowTime
  • windowToggle
  • windowWhen
  • withLatestFrom
  • zipAll
Home

RxJS Visualize

GitHub Repository
Warning: This app is intended to be viewed on a relatively wide screen and is not responsive for smaller screens. It should still work on smaller screens, but you may have to scroll the marble diagrams or otherwise manipulate your screen size to see the full visualizations.

switchMap

initTime = new Date().getTime();
lowerOrders: Observable<string>[] = [];
higherOrder = timer(0, 2000).pipe(
  take(4),
  mapNumberToChar(),
);
firstOrder = this.higherOrder.pipe(
  switchMap(val => {
    const lowerOrder = timer(0, 1000).pipe(
      take(4),
      map(innerVal => val + innerVal),
    );
    this.lowerOrders.push(lowerOrder);
    return lowerOrder;
  }),
);

a
a0
a0