簡體   English   中英

使用catchError進行角度錯誤處理(somefunctionthatreturnsanobservable)

[英]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);

試着想象catchErrorhandleError函數做了同樣的handleError 將使用參數調用它,您只需指定發生錯誤時要調用的函數。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM