Angular 5 HttpClient与以前的Http相比有哪些优势?
我读过官方的升级指南,上面写着“因为HttpClient得到了广泛的采用,我们决定……”但是这个HttpClient带来了什么真正的好处呢? 我曾考虑尝试一下,但中途感到困惑,因为我不知道升级后这些产品会发生什么: 从'@angular/Http'导入{Http,Headers,RequestOptions,ResponseContentType} 我试图在新客户机中找到“匹配项”: 从“@angular/common/http”导入{HttpClient,HttpParams,HttpHeaders} 但我不知道这些应该如何适当地“升级”,因为指南没有提到Angular 5 HttpClient与以前的Http相比有哪些优势?,angular,httpclient,Angular,Httpclient,我读过官方的升级指南,上面写着“因为HttpClient得到了广泛的采用,我们决定……”但是这个HttpClient带来了什么真正的好处呢? 我曾考虑尝试一下,但中途感到困惑,因为我不知道升级后这些产品会发生什么: 从'@angular/Http'导入{Http,Headers,RequestOptions,ResponseContentType} 我试图在新客户机中找到“匹配项”: 从“@angular/common/http”导入{HttpClient,HttpParams,HttpHead
那么第二个问题-我们如何处理那些其他http东西呢?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拦截器作为中间件组件
中间件模式的一些好处:
例如,客户端代码(使用HttpClient)不需要担心错误处理、重试或可视等待组件—所有这些都在一个地方处理。也许这个答案仍然适用:可能重复的,那么我是否有机会了解第二个问题的一些内容—应该从旧方法迁移什么:头、响应类型?您仍然可以访问完整的HTTP通过
this.http.get('…',{observe:'response'});
非常感谢!我现在成功地将代码迁移到了HttpClient;)并使用了您的建议重新响应。事实上,它现在对我来说更干净了!;)