Skip to content
On this page

C'est quoi un Marble avec RxJS ?

Un marble (ou billes) est une représentation visuelle d'une séquence d'événements dans le temps. Par exemple, si vous avez une observable qui émet trois événements dans un intervalle de temps de 1 seconde, le marble pourrait ressembler à ceci: ---a-b-c---. La ligne du bas représente le temps, et les lettres sur la ligne du milieu représentent les événements émis par l'observable.

En utilisant des marbles, vous pouvez facilement visualiser et comprendre comment différentes opérateurs RxJS fonctionnent et comment ils transforment les séquences d'événements. Cela peut être utile pour déboguer et comprendre les programmes réactifs en JavaScript.

Syntaxe de Marble

La syntaxe Marble est utilisée pour représenter graphiquement les séquences d'événements dans les tests d'observables RxJS. Elle permet de décrire de manière concise et visuelle les événements produits par un observable, ainsi que les souscriptions et les erreurs éventuelles.

Voici comment fonctionne la syntaxe Marble :

  • Les caractères alphanumériques représentent les événements produits par l'observable. Par exemple, a, b et c sont des événements distincts produits par l'observable.
  • Le caractère - représente un intervalle de temps durant lequel aucun événement n'est produit. Par exemple, --a--b--c signifie que l'observable produit les événements a, b et c, mais qu'il y a un intervalle de temps entre chaque événement.
  • Le caractère | représente la fin de l'observable. Par exemple, --a--b--c| signifie que l'observable produit les événements a, b et c, et que la séquence d'événements se termine ensuite.
  • Les parenthèses () représentent une souscription à l'observable. Par exemple, --(abc)| signifie que l'observable produit les événements a, b et c, et que la souscription a lieu au début de la séquence d'événements.
  • Le caractère # représente une erreur levée par l'observable. Par exemple, --a--b--# signifie que l'observable produit les événements a et b, puis lève une erreur. Voici un exemple de syntaxe Marble utilisée pour représenter une séquence d'événements produits par un observable :
ts
--a--b--(cde)---f--|

Cette syntaxe Marble signifie que l'observable produit les événements a et b, puis une souscription a lieu et l'observable produit les événements c, d et e, puis un intervalle de temps se passe et l'observable produit l'événement f, avant de se terminer.