我正在尝试设置一个将重播最新值的 Angular2 Observable。
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
@Injectable()
export class RefinementService {
refining: any;
private r: any;
constructor() {
this.refining = new Observable(observer => this.r = observer).replay(1);
}
}
我不断收到错误信息:
Property 'replay' does not exist on type Observable<{}>.
和
this.refining.replay is not a function
有没有人成功地实现了一个可观察对象,将其最新值(value)重新发送给新订阅者?
最佳答案
根据MIGRATION RxJS5指南replay
已重命名为 publishReplay
。
所以你应该通过添加正确的运算符就可以了
import 'rxjs/add/operator/publishReplay';
// Component
this.refining = new Observable(observer => this.r = observer).publishReplay(1);
你可以使用 ReplaySubject
关于typescript - Angular2 Observables——回放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947642/