我有一个简单的问题,我认为 Angular 专家很容易回答。
我有如下方法:
private uploadPicture(imagePath: string, apiUrl: string): Observable<ApiResponse<string>> {
return this.convertFileFromFilePathToBlob(imagePath).pipe(
switchMap(item => this.convertBlobToFormData(item)),
switchMap(formData => this.postImageToServer(formData, apiUrl)),
catchError((error: any) => {
if (error instanceof Response) {
return throwError(new AppError(error));
} else {
return throwError(new AppError(null, 'Error occured at convertFileFromFilePathToBlob.'));
}
})
);
}
我在一种方法中链接了 3 种方法:
convertFileFromFilePathToBlob
convertBlobToFormData
postImageToServer
所有 3 种方法都可以在任何故障点引发/发出错误。我的问题是关于在这种情况下如何进行异常处理?
我目前的实现,只有一个catchError
就可以了吗?如果没问题,如果任何链接方法引发错误,它会被执行吗?
或者
我是否需要catchError
在每种方法之后使用多个运算符来捕获其错误?如果是,我不知道我该怎么做?
有人可以解释在这种情况下我应该如何处理错误吗?