AsyncPipe无法正确更新

时间:2018-12-28 10:15:19

标签: angular rxjs observable retrywhen

我目前正在尝试将Angular AsyncPipe与ngIf结合使用。生产中可观察到的来自HttpService,它通过重试策略进行扩展以进行错误处理。

模板如下:

openSnackbar() {
  this.snackBar.openFromComponent(SnackbarComponent, {
    data: {
      html: '<h1>The Header</h1><p>The paragraph of text</p>'
    }
  });
}

重试策略使用一个对话框来解决错误,并且在该对话框被删除之后,应重新运行可观察对象。

如果没有错误发生,则模板正在正确加载,并且一切正常。但是,在发生错误后,开头只会出现一个错误,并且用户会关闭对话框以开始重试,该值未正确显示在模板中。

我也包括了example

在该示例中,我从Angular模拟了HttpService以显示其行为。

1 个答案:

答案 0 :(得分:0)

observable.error开始,您正在抛出一个错误。更改您的逻辑或删除它。

public getConfiguration(): Observable<string> {
  return Observable.create((observer) => { 
      observer.next('Hello World.'); 
  });
}

Demo