Skip to content
On this page

Comment utiliser defer en RxJS ?

defer est une opérateur RxJS qui permet de créer un observable à partir d'une fonction qui est exécutée chaque fois qu'un abonné s'abonne à cet observable. Cela peut être utile si vous avez une fonction qui retourne un observable, mais que vous ne voulez pas que cette fonction soit exécutée immédiatement.

Voici un exemple d'utilisation de defer :

js
function getObservable() {
  // Cette fonction retourne un observable qui émet des valeurs toutes les secondes
  return of(1, 2, 3, 4, 5).pipe(delay(1000));
}

const observable = defer(getObservable);

observable.subscribe(value => {
  console.log(value);
});

Dans cet exemple, lorsque observable est créé à l'aide de defer, la fonction getObservable n'est pas exécutée immédiatement. Au lieu de cela, elle est exécutée chaque fois qu'un abonné s'abonne à observable. Dans ce cas, lorsque subscribe est appelé, getObservable est exécutée et retourne un observable qui émet les valeurs 1, 2, 3, 4 et 5 avec un délai d'une seconde entre chaque valeur.