Comment utiliser les observables avec Vanilla JavaScript

Aucun framework utilisé, juste du pur JavaScript vanille.

Tout en travaillant sur un projet parallèle juste pour le plaisir, je voulais écrire un script JavaScript pour appeler une API REST et éventuellement faire des trucs sympas sur une page Web. Il s'agit de JavaScript purement vanille, sans aucun framework ni même bibliothèque utilisé.

Tout d'abord, j'ai pensé à utiliser Promises pour mes appels et cela a été facile pour moi. Je l'ai fait une tonne de fois. Cependant, cela m'a ensuite frappé fort - pourquoi n'utilise-je pas Observables ? Je savais que JavaScript vanille ne supportait pas nativement les Observables. Mais ne pourrais-je pas le mettre en œuvre moi-même ? Et c'est ce que j'ai fait.

C'est comme ça que j'ai pensé les choses

  1. L'Observable lui-même serait d'un nouveau type d'objet appelé Sujet.
  2. Cet objet Subject doit exposer les fonctions subscribeet next.
  3. subscribe devraient être appelés par les observateurs à souscrire au flux de données observables.
  4. nextdoit être appelé par le propriétaire du sujet pour pousser/publier de nouvelles données chaque fois qu'elles sont disponibles.
  5. De plus, je voulais que le propriétaire du sujet puisse savoir quand aucun observateur n'était intéressé par ses données. Cela permettrait au propriétaire du sujet de décider s'il souhaite toujours obtenir les données ou non.
  6. De plus, le propriétaire du sujet devrait être en mesure de savoir à chaque fois qu'au moins un observateur a commencé à s'intéresser à ses données. Cela donnerait au propriétaire du sujet plus de contrôle sur son flux de données et toutes les opérations connexes.
  7. Revenons maintenant à l' observateur . Il doit pouvoir se désinscrire du Sujet à tout moment.
  8. Cela nous amène à un nouveau type d'objet appelé Abonnement.
  9. Cet objet d' abonnement doit exposer une unsubscribefonction.
  10. unsubscribedoit être appelé par l' observateur chaque fois qu'il veut arrêter d'écouter le flux de données provenant du Sujet .

Mise en œuvre

Abonnement

Notez que l' abonnement notifie simplement le sujet lorsque la unsubscribefonction est appelée.

Sujet

Quelque part dans le propriétaire du sujet

Quelque part dans l'Observateur

Ça y est, tout a fonctionné comme un charme et j'étais fier de ce que j'ai accompli.

Ainsi, la conclusion est que le codage en JavaScript vanille n'est pas toujours égal à l'écriture de code ennuyeux, vous pouvez le rendre beaucoup plus amusant. :)

J'espère que vous avez trouvé la lecture de cette histoire aussi intéressante que j'ai trouvé à l'écrire.

Plus de contenu sur plainenglish.io

Suggested posts

Recherche d'informations sur les noms de domaine

Un extrait de Small, Sharp Software Tools par Brian P. Hogan

Recherche d'informations sur les noms de domaine

Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.

Comment j'ai passé de Math à CS

Comment j'ai passé de Math à CS

Le processus d'admission de l'automne 2023 touche à sa fin et des reports/rejets se produisent. Félicitations si vous avez été accepté dans le programme de vos rêves à l'UW.

Related posts

Ce que vous pouvez faire pendant votre saison d'attente (attendre de décrocher votre premier emploi dans la technologie)

Ce que vous pouvez faire pendant votre saison d'attente (attendre de décrocher votre premier emploi dans la technologie)

Passer à une nouvelle carrière peut être extrêmement difficile si vous essayez de le faire seul. Il est important de trouver des partenaires de responsabilité qui sont au même niveau d'apprentissage que vous, qui partagent des objectifs, une ténacité et un dynamisme similaires.

L'art est-il toujours apolitique ?

L'art est-il toujours apolitique ?

Hier, nous avons fermé la porte du concours Eurovision de la chanson de cette année avec une grande finale scintillante et chaotique où la chanteuse suédoise Loreen a remporté le trophée, devenant la première femme à gagner deux fois et ramenant la couronne à la Suède 50 ans après qu'ABBA a remporté le concours. avec "Waterloo". Ils sont devenus l'un des plus grands groupes du canon de la musique pop.

Réseau TV Twitter

Réseau TV Twitter

Ce qui est vieux est à nouveau nouveau et ce qui était autrefois la chose brillante et scintillante semble maintenant terne. Je ne parle pas du retour des jeans JNCO parmi les enfants cool du centre-ville avec d'autres modes de la fin des années 1990.

Le premier livre d'un enfant sur la défonce

Le premier livre d'un enfant sur la défonce

(Attention - Ceci est une satire, destinée à être joyeusement subversive - Certainement pas pour les enfants) Vous avez vu votre mère et votre père se cacher dans la cuisine et fumer ces cigarettes malodorantes. Ils vous disent.