我发现,当一个可观察到的错误,它不再发出任何值.那么,我应该如何在我的模板中使用一个在某些情况下可能出错(包含http调用或任何东西)的可观测对象呢?
比方说,我有一个主题,它包含一个由输入给出的字符串,还有一个http调用的SwitchMap.由于用户输入错误而导致的HTTP调用错误.现在,当我使用另一个用户输入对主题调用Next时,将不会执行SwitchMap+http调用,因为可观测对象处于错误状态.CatchError也不起作用.
即
string$ = new Subject<string>();
errorS$ = this.string$.pipe(switchMap(s =>
s == '1' ?
throwError('mein eroor') :
of(s)
)).pipe(catchError(() => EMPTY))
constructor(){
timer(1000, 2000)
.pipe(take(3))
.subscribe(i => {
console.log(i)
this.string$.next("" + i)
})
}
在本例中,当我在模板中使用Errors$时,它在出错后不再更新.那么,如何让它再次更新,我从哪里得到我的错误.