Angular 2+引入HttpClient
了发出HTTP请求并将其发送到可观察到的RxJS的功能。我的问题是,为什么我会选择在标准上使用HttpClient
的APIfetch
来发出单个HTTP请求?
我熟悉RxJS,并且了解这张“四个基本效果”图表。
| one | many
-------------------------------------
sync | T | Iterable<T>
async | Promise<T> | Observable<T>
Http请求是异步的,并返回一个值。为什么那应该是可观察的?我知道要将事件流组合成HTTP请求流,但是我不明白为什么我只想使用一个HTTP响应流。当您只有一个值时,这不就是使用数组吗?
我想念什么吗?通常,为什么要使用Angular的HttpClient?哪里不符合要求?
这只是一个不同的API。可观察对象有一种更好的方法来分离“事物如何流动”(所有运算符:映射,合并,合并等)与执行该方法(.subscribe)相比,这通常有助于获得更好的画面。如果请求失败,则Plus提供了有用的方法来取消或重试该请求。
而且,Observable.toPromise()
如果需要Promise API ,您可以随时使用(使用async / await,这也非常有用)
因此,对我而言,这只是两种表示同一事物的方式,每种方式都具有另一种优势,但是由于Observable更通用,因此可以使用它们-您可以从Observable到Promise来回转换,但是Observables带来了Promises不能提供的功能没有。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句