Angular 5 HttpClient比以前的Http有什么优势?

时间:2017-12-19 22:19:21

标签: angular httpclient

我阅读了官方升级指南,它说的是"因为HttpClient被广泛采用,我们决定..." 但这个HttpClient带来了什么真正的好处?

我正在考虑尝试一下,但是因为我不知道升级后需要发生什么事情而感到困惑:

从' @ angular / http';

导入{Http,Headers,RequestOptions,ResponseContentType}

我试图在新客户端找到"匹配: 导入{HttpClient,HttpParams,HttpHeaders}来自' @ angular / common / http'

但不知道那些应该如何正确地升级"因为导游对此一无所知。

所以第二个问题 - 我们如何处理其他http内容?

1 个答案:

答案 0 :(得分:7)

HttpClient接口与旧的Http接口几乎没有变化。最大的区别是HttpClientModule对中间件(即.HTTP拦截器)有更好的支持。

一些功能优势:

•   Strongly typed response body access
•   JSON assumed by default (no more need to do .map(t=>t.json())
•   Better support for interceptors as middleware
•   Immutable request/response objects
•   Progress events for request upload/response download

使用新的http客户端,它可以直接使用HTTP拦截器来实现中间件组件。

中间件模式的一些好处:

  1. HTTP请求的全局错误处理
  2. 全局重试机制(即重试3次)
  3. 用于长时间运行的全局HTTP微调器。
  4. 例如,客户端代码(使用HttpClient)不需要担心错误处理,重试或可视等待组件 - 所有这些都在一个地方处理。