RxJS: Operator takeWhile

Opublikowano: 15.09.2022 - tagi: JavaScript RxJS Operator

Operator takeWhile wysyła dane z obiektu Observable do momentu, gdy zdefiniowany warunek zostaje spełniony. Jeśli określony warunek nie zostanie spełniony dane z Observable przestają być wysyłane.

Przykład

import { interval } from 'rxjs';
import { takeWhile } from 'rxjs/operators';

const timer$ = interval(1000);

timer$.pipe(
    takeWhile(value => value <= 3)
).subscribe(console.log);
// 0
// 1
// 2
// 3

Do operatora takeWhile przekazujemy funkcję, w której definiujemy warunek, jaki musi zostać spełniony, żeby dane były emitowane ze źródła. Jeśli tak zdefiniowany warunek nie zostanie spełniony obiekt Observable zakończy wysyłanie danych.