RxJS 使用异步管道处理成功
RxJS handling success with async pipe
所以基本上我想做以下事情:
我在 Angular 6
中有一个后端调用和模板
在此后端调用之后,我想将结果切换到 dataUpdated$ observable,它将在模板中显示如下内容:
<h1 *ngIf="dataUpdated$ | async">Very Good!</h1>
然后我想在同一流上设置计时器,假设 2 秒后我想再次更新该可观察对象,以便它在模板中消失。
我不想使用订阅方法,我已经在代码中订阅了。
我想将代码更新为一个流而不会中断或需要手动取消订阅
async
管道应该只保留一个订阅,因此您可以使用 switchMap
重新发送原始值,并在 2 秒后发送 false
应该隐藏消息。
dataUpdated$ = source.pipe(
switchMap(v => merge(
of(v),
of(false).pipe(delay(2000)),
)),
);
所以基本上我想做以下事情:
我在 Angular 6
中有一个后端调用和模板在此后端调用之后,我想将结果切换到 dataUpdated$ observable,它将在模板中显示如下内容:
<h1 *ngIf="dataUpdated$ | async">Very Good!</h1>
然后我想在同一流上设置计时器,假设 2 秒后我想再次更新该可观察对象,以便它在模板中消失。
我不想使用订阅方法,我已经在代码中订阅了。
我想将代码更新为一个流而不会中断或需要手动取消订阅
async
管道应该只保留一个订阅,因此您可以使用 switchMap
重新发送原始值,并在 2 秒后发送 false
应该隐藏消息。
dataUpdated$ = source.pipe(
switchMap(v => merge(
of(v),
of(false).pipe(delay(2000)),
)),
);