Javascript rxjs可观测发布重播新数据
我正试图用rxjs缓存用户数据,这就像是一个魅力Javascript rxjs可观测发布重播新数据,javascript,rxjs,observable,Javascript,Rxjs,Observable,我正试图用rxjs缓存用户数据,这就像是一个魅力 protected users$ = Observable.defer(() => this.getUsersUncached()) .publishReplay(1, 5000) .refCount() .take(1); public getUsers(): Observable<User[]> { this.users$.shareReplay() return this.user
protected users$ = Observable.defer(() => this.getUsersUncached())
.publishReplay(1, 5000)
.refCount()
.take(1);
public getUsers(): Observable<User[]> {
this.users$.shareReplay()
return this.users$;
}
public getUsersUncached(): Observable<User[]> {
return this.api.get('/user')
.map((response) => response.json().data)
.catch(this.handleError);
}
protectedusers$=Observable.defer(()=>this.getUsersUncached())
.publishReplay(15000)
.refCount()
.采取(1)项措施;
public getUsers():可观察{
此.users$.shareReplay()文件
返回此.users$;
}
public getUsersUncached():可观察{
返回此.api.get(“/user”)
.map((response)=>response.json().data)
.接住(这个.把手错误);
}
如果我调用getUsers,我会得到缓存的userData 5秒钟,如果我调用getUsersUncached,我会从api中得到未缓存的数据
如果对getUserUncached的调用也会重置缓存的计时器并更新其内容,那么这将是一个非常好的选择。我想问的是,有没有一个干净的方法来解决这个问题,或者我应该用一个计时器&一个行为主体来构建自己的方法