我需要延迟加载一些无限流,因为它们启动起来很昂贵。而且我也不想在它们出于同样的原因启动后停止它们。
我认为如果有一个共享操作符在第一次订阅时没有取消订阅底层流,即使所有下游订阅者都取消订阅,那会很好。
现在我在两条不同的线路上使用发布和连接来完成它,它工作正常,但看起来很笨重而且不是很 rxjs,例如:
public data$(): Observable<any> {
if (this.lazyData$) {
return this.lazyData$;
}
this.lazyData$ = this.someDataProvider.data$()
.publishReplay(1);
this.lazyData$.connect();
return this.lazyData$;
}
Run Code Online (Sandbox Code Playgroud)
此外,我希望它向新订阅者重播最后一条消息,如您所见:)
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |