Javascript 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

我正试图用rxjs缓存用户数据,这就像是一个魅力

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的调用也会重置缓存的计时器并更新其内容,那么这将是一个非常好的选择。我想问的是,有没有一个干净的方法来解决这个问题,或者我应该用一个计时器&一个行为主体来构建自己的方法