在Angular中使用原生Fetch API而不是HttpClient
有任何特定的技术缺陷吗?我对Angular相对较新,并且不确定以这种方式“绕过”所提供的接口是否安全。 (例如,根据document
,似乎不建议通过访问documentation来直接修改DOM。)
我正在使用Angular 6,而我并不关心那些不支持fetch
的客户。
Angular是一个自以为是的框架 - 意味着框架要求你以Angular的方式做事。这并不意味着你必须按照自己的方式做事。
自由使用fetch()
或httpClient
。它们是针对同一问题的两种不同方法,您应该根据您的需求选择一种方法。
使用fetch()
将返回一个承诺。使用Angular的httpClient
将返回一个Observable,它具有Promises不具备的功能。您可以使用Observable.toPromise()
进行转换,但之后......为什么要使用Observable?
这就是Angular希望你使用httpClient
的原因:
HttpClient的其他好处包括可测试性功能,类型化请求和响应对象,请求和响应拦截,Observable apis以及简化的错误处理。