草庐IT

publishReplay

全部标签

javascript - 为什么 Rxjs publishReplay(1).refCount() 不重播?

为什么publishReplay(1).refCount()不为迟到的订阅者重播最后一个值?a=newRx.Subject();b=a.publishReplay(1).refCount();a.subscribe(function(x){console.log('timelysubscriber:',x)});a.next(1);b.subscribe(function(x){console.log('latesubscriber:',x)});预期输出:timelysubscribe:1latesubscriber:1实际输出timelysubscriber:1

javascript - RxJS publishReplay 与 publishLast

我正在Angular应用程序中实现缓存HTTP结果。据我所知,以下两个代码都有效,但我需要知道它们是否在做完全相同的事情,还是我遗漏了一些重要的东西?最后发布getPosts(){if(!this.posts$){this.posts$=this.http.get('api').publishLast().refCount();returnthis.posts$;}returnthis.posts$;}发布重播getPosts(){if(!this.posts$){this.posts$=this.http.get('api').publishReplay(1).refCount();