The argument typically goes something like this: “promises aren’t usable because they’re uncancellable. What happens if I need to cancel an HTTP request when a user hits another key on an autocomplete? I should use RxJS.”
Newsflash: RxJS doesn’t cancel HTTP requests either. It simply gives you a method to ignore the response
. The request still goes to the server. So if you want a way to let your users cancel a form submission after called `$http.put()`, RxJS won’t help you. However, ignoring a response is easy, regardless of whether you’re using promises or observables.
In general, cancelling a network operation is hard, and not guaranteed to work. What happens if you send an HTTP request to a server, the server processes it, and sends a response, and then you decide to cancel it?