![](/img/trans.png)
[英]Angular Error Handling - catchError does not return an error object for rxjs effect
[英]Angular error handling using catchError(somefunctionthatreturnsanobservable)
通過Angular文檔來處理服務中的HTTP錯誤響應我遇到了類似這樣的事情:
getContext(){
return this.http.post(this.testUrl, {})
.pipe(
catchError(this.handleError)
)
}
handleError(error: HttpErrorResponse){
if(error.error instanceof ErrorEvent){
console.log('An error occurred:', error.error.message);
} else {
console.log(
`Backend returned code ${error.status}` +
`body was ${error.error}`
)
}
return throwError('Need to fix!');
}
我想知道為什么this.handleError
沒有傳遞參數(一個HTTPErrorResponse
)以及它如何工作而沒有收到一個?
handleError
方法作為回調傳遞給catchError
。
doSomething(callback) {
// Call the callback with arguments
callback('Hello world');
}
saySomething(param) {
console.log(param);
}
doSomething(saySomething);
試着想象catchError
對handleError
函數做了同樣的handleError
。 將使用參數調用它,您只需指定發生錯誤時要調用的函數。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.