-1

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

模板如下所示:

<div *ngIf="(configuration$ | async) as configuration; else loading">
  <p>{{configuration}}</p>
</div>

<ng-template #loading>
  <p>Loading...</p>
</ng-template>

重试策略对错误使用对话框,在对话框关闭后,应重新运行可观察对象。

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

我也举了一个例子

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

4

1 回答 1

0

您在开始时通过observable.error. 改变你的逻辑或删除它。

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

演示

于 2018-12-28T10:34:35.403 回答