Skip to content
On this page

Utiliser switchMap

L'opérateur switchMap de RxJS peut être utilisé pour combiner plusieurs observables en un seul flux. Il prend un observable et une fonction de projet comme arguments, et renvoie un observable qui émet les valeurs de l'observable interne le plus récemment émis.

Par exemple, disons que vous avez deux observables d'entrée utilisateur, une pour un nom d'utilisateur et une pour un mot de passe. Vous pourriez les combiner en un seul flux d'observable avec switchMap comme ceci :

js
const username$ = fromEvent(usernameInput, 'input');
const password$ = fromEvent(passwordInput, 'input');

const combined$ = username$.pipe(
  switchMap(username => 
    password$.pipe(
      map(password => ({ username, password }))
    )
  )
);

combined$.subscribe(console.log);