A Promise handles a single event when an async operation completes or fails.
Note: There are Promise libraries out there that support cancellation, but ES6 Promise doesn’t so far.
An Observable is like a Stream (in many languages) and allows to pass zero or more events where the callback is called for each event.
Often Observable is preferred over Promise because it provides the features of Promise and more. With Observable it doesn’t matter if you want to handle 0, 1, or multiple events. You can utilize the same API in each case.
Observable also has the advantage over Promise to be cancelable. If the result of an HTTP request to a server or some other expensive async operation isn’t needed anymore, the Subscription of an Observable allows to cancel the subscription, while a Promise will eventually call the success or failed callback even when you don’t need the notification or the result it provides anymore.
Observable provides operators like map, forEach, reduce, … similar to an array
There are also powerful operators like retry(), or replay(), … that are often quite handy.
- 1Bitbucket and Visual Studio
- 1How to dump and restore database in MongoDB
- 1How to compress and extract files/folders using the tar command on Ubuntu
- 1How To Create a New User and Grant Permissions in MySQL
- 2Abstract and Virtual Methods
- 0What is the difference between custom dimensions and metrics in Google Analytics
- 5How can I rename git local and remote branch name?
- 1Events and delegates in C#
- 1how to write function to generate an array between two integers
- 1*ngIf and *ngFor on same element causing error
- 1How to make my footer cover 100% height and width of the page from top?