在这种情况下
this.http.call().pipe(
catchError((error) => {
doSomething();
}),
switchMap((data) => {
doMoreThings();
}),
);
执行catchError块时,是否可以不执行switchMap?
答案 0 :(得分:1)
这取决于您从catchError
的回调中返回的观察结果。
如果您返回empty()
。然后它不会触发switchMap
,因为empty()
刚刚完成并且没有发出任何next
通知。
您还可以返回throwError(...)
只发出error
次通知而不会发出next
的内容。