来自 Angular 的 HttpClient.get() 的承诺何时会被拒绝?



在我们的Angular代码库中,我们通常有如下处理的http请求:

return this.http
.get<Whatever>(url)
.toPromise()
.then(response => {
// handle successful response
})
.catch(e => {
// handle errors
});

请注意,在.then()中,我们不提供回调来处理被拒绝的promise。

在某些情况下,这一承诺是否真的可能被拒绝,我们是否也应该安全地处理这些情况?我确信我对promises/angular之类的东西缺乏一些基本的理解,也许我们应该改用可观察性,而不是总是使用.toPromise((

如果http中有40x和50x响应,promise将被拒绝。如果http中有20x和30x的响应,则promise将得到解决。

then((之后的catch回调是拒绝回调。因此,如果http请求失败或出现错误,catch块内的代码将运行。

你是对的,http方法最好使用可观察性。

最新更新