typescript - Angular2 Observables——回放

标签 typescript angular rxjs

我正在尝试设置一个将重播最新值的 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/

相关文章:

typescript - AWS CDK - 不能在构造 ID 中使用 token - 如何根据其他构造的名称动态命名构造?

css - 如何用 Angular Material 制作圆形复选框

Angular 6验证数字输入

javascript - RxJS publishReplay 与 publishLast

javascript - 无法从combineLatest获取数据 - Angular

typescript - Deno 编译时出现错误 : TS2339 [ERROR]: Property x does not exist . ..

typescript - Heroku - fatal error : Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

node.js - 如何在 NTVS 中的单独文件中编译包含类的 Nodejs Typescript 项目?

javascript - 在 Angular 中的其他组件之间更改 url 时保留 HTML 值(选定的选项、复选框)

javascript - subscribe 和 catch 运算符中的 onError 有什么区别?