Skip to content
On this page

Comment utiliser race sur RxJS ?

Race est une opération de fusion asynchrone dans RxJS qui permet de lancer plusieurs observables en même temps et de retourner un observable qui produit la valeur émise par le premier observable à émettre une valeur. Voici comment l'utiliser :

js
import { interval, take, race } from 'rxjs'

const observable1 = interval(1000).pipe(take(10));
const observable2 = interval(2000).pipe(take(5));
const observable3 = interval(1500).pipe(take(8));

const race = race(observable1, observable2, observable3);

race.subscribe({
  next: value => console.log(value),
  error: error => console.log(error),
  complete: () => console.log('Complete!')
});

Cet exemple lancera les trois observables en même temps, et l'observable retourné par la méthode race produira les valeurs émises par le premier observable à émettre une valeur. Si aucun des observables n'émet de valeur avant que les autres soient terminés, l'observable retourné par race se terminera sans émettre de valeur.