Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
December 31, 2021 09:36 am GMT

How to Use Observables with Vanilla JavaScript

No frameworks used, just pure vanilla JavaScript.



While working on a side project just for fun, I wanted to write a JavaScript script to call a REST API and eventually do some cool stuff on a webpage. It is purely vanilla JavaScript, with no fancy frameworks or even libraries being used.

First, I thought of using Promises for my calls and this was easy for me. I have done that a ton of times. However, it then hit me hard why dont I use Observables? I knew that vanilla JavaScript didnt natively support Observables. But couldnt I implement it myself? And thats what I did.

How to Use Observables with Vanilla JavaScript (JS) without any frameworks or libraries. Code Coding Programming Software Web Development

This is how I thought things through

  1. The Observable itself would be of a new object type called Subject.

  2. This Subject object should expose the subscribe and next functions.

  3. subscribe should be called by observers to subscribe to the observable stream of data.

  4. next should be called by the Subject owner to push/publish new data whenever available.

  5. Additionally, I wanted the Subject owner to be able to know whenever no observers were interested in its data. This would enable the Subject owner to decide if he still wanted to get the data or not.

  6. Also, the Subject owner should be able to know whenever at least one observer started being interested in its data. This would give the Subject owner more control on its data flow and any related operations.

  7. Now back to the observer. He should be able to unsubscribe from the Subject at any time.

  8. This leads us to a new object type called Subscription.

  9. This Subscription object should expose an unsubscribe function.

  10. unsubscribe should be called by the observer whenever he wants to stop listening to the data stream coming from the Subject.

Following these rules, I came up with the following implementation.

How to Use Observables with Vanilla JavaScript (JS) without any frameworks or libraries. Code Coding Programming Software Web Development

Implementation

Subscription

Note that Subscription just notifies the Subject when the unsubscribe function is called.

Subject

Somewhere in the Subject Owner

Somewhere in the Observer

How to Use Observables with Vanilla JavaScript (JS) without any frameworks or libraries. Code Coding Programming Software Web Development

Thats it, everything worked like a charm and I was proud of what I achieved.

So, the punch line is that coding in vanilla JavaScript is not always equal to writing boring code, you can make it much more fun


Hope you found reading this story as interesting as I found writing it.



This article was originally published here.


Original Link: https://dev.to/ahmedtarekhasan/how-to-use-observables-with-vanilla-javascript-p6l

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To