是否需要使用加载可观察切换来进行必要的观察?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否需要使用加载可观察切换来进行必要的观察?相关的知识,希望对你有一定的参考价值。

我正在查看的一些容器模板加载数据如下:

<ng-container *ngIf="!(loading$ | async); else tpl">

每当客户端获取数据(Say Post)实例时,它会将loading$ observable设置为false,当Observable<Post[]>s变为可用时,它会将loading$设置为true。

在这种情况下,似乎我们可以简单地用loading$替换posts$,因为*ngIf将评估为false直到Observable<Post[]>准备好发射?

所以换句话说,我们真的不需要loading$ - 我们可以只使用posts$代替?

posts$ Observable准备就绪时,容器将显示posts迭代通过,如下所示:

 <post *ngFor="let post of (post$ | async)" [post]="post"></post>
答案

加载意味着您​​正在等待来自服务器的响应,那么返回的响应不是帖子的情况如何。在这种情况下,您不希望显示加载,而是显示没有帖子的消息。

以上是关于是否需要使用加载可观察切换来进行必要的观察?的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中使用可观察对象切换视图

如何订阅一次可观察对象?

使用可观察数组进行 Knockoutjs 映射和验证

观察者模式实现图片预加载,并开放事件监听接口

Jmeter-----邮件观察仪

设计模式系列 - 观察者模式