【发布时间】:2018-05-06 07:13:31
【问题描述】:
我正在寻找一种方法来让我的可观察到的发射间隔。我有一个处理它的服务,以及使用该主题发出值的组件和一个需要以 6 秒间隔接收它的组件。
export class Service {
constructor() {}
private subject = new Subject<string>();
public observable$ = this.toastMessage.asObservable();
updateSubject(data) {
this.subject.next(data);
}
}
// somewhere else
export class Component {
constructor(private srv: Service) {}
ngOnInit() {
this.srv.observable$.subscribe(data => {
console.log(data, 'should emit once every 6 seconds');
})
}
}
// also elsewhere
export class ComponentUpdater {
constructor(private srv: Service) {}
ngOnInit() {
this.srv.updateSubject('way');
this.srv.updateSubject('to');
this.srv.updateSubject('fast');
}
}
有谁知道我如何使用 Subject 来做到这一点?
【问题讨论】:
-
“每 6 秒更新一次(
Subject)值”和“每 6 秒收听一个可观察对象”之间存在根本区别。你想达到哪一个? -
@CozyAzure 我希望订阅者每 6 秒接收一次在其订阅时间内发出的所有值。
-
@fatemefazli 我正在尝试让它与附加的“主题”一起工作
标签: angular rxjs angular2-observables