Thursday, 14 December 2017

angular - What is the difference between Promises and Observables?

itemprop="text">

Can someone please explain the
difference between Promise and
Observable in
Angular?



An example on each would be helpful in
understanding both the cases.
In what scenario can we use each
case?



itemprop="text">
class="normal">Answer




Promise



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.



Observable



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.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...