我对导致Angular 2 http
服务返回可观察值而不是响应承诺的推理或讨论感到好奇。我会理解Web套接字连接或长轮询请求之类的逻辑,但是该http
服务只是创建一个XMLHttpRequest
,并且在load
该请求的事件处理程序中,根据可观察到的响应发出响应,然后完成可观察到的响应。由于这仅返回一个值,在我看来,诺言更有意义。
编辑:我知道可观察的事物和诺言之间的区别,并且知道您可以将可观察的事物转换成诺言,反之亦然。我的问题更多是关于决定返回可观察值而不是承诺的原因。
我认为主要原因是可以取消观测值。
另请参见Angular-Promise与Observable。