首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示使用异步管道呈现的基于计时器的可观察对象的加载指示器

显示使用异步管道呈现的基于计时器的可观察对象的加载指示器
EN

Stack Overflow用户
提问于 2020-04-08 21:01:57
回答 1查看 171关注 0票数 1

我有一个角度的http请求,我已经使自动刷新使用rxjs计时器...

代码语言:javascript
复制
this.data$ = timer(0, 1000 * 10).pipe(
  flatMap(() => this.service.getData())
);

我在我的模板中使用if else中的异步管道显示此可观察性,以在它完成之前显示加载指示器...

代码语言:javascript
复制
<ng-container *ngIf="data$ | async as data; else loading">
</ng-container>

<ng-template #loading>
  <ngx-spinner></ngx-spinner>
</ng-template>

这很好用。但是,当计时器每10秒触发一次时,我希望加载模板再次显示,直到http请求完成。我想我需要一种方法来形成这个rxjs表达式,这样每隔10秒它就会立即发出一个null或其他值,然后执行请求,然后发出请求响应对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-08 21:05:47

如果您不介意在加载过程中丢弃之前加载的结果,您可以在触发请求之前发出null

代码语言:javascript
复制
this.data$ = timer(0, 1000 * 10).pipe(
  flatMap(() => concat(of(null), this.service.getData())),
);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61101329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档