我正在构建一个公开 Observable 的服务。在此服务中,我接收外部函数调用,这些函数调用应该触发 Observable 上的下一个调用,以便各个消费者获得订阅事件。在观察者构造函数期间,我可以调用 next 并且一切正常,但是如何在构造函数之外访问它以便外部触发器可以触发 next 调用?
private myObservable$: Observable<any>;
在服务初始化期间我做
this.myObservable$ = new Observable(observer => {
observer.next("initial message");
}
然后在同一服务的其他方法中我希望能够执行类似的操作
this.myObservable$.observer.next("next message");
上面的显然行不通,但是我怎样才能实现这个目标呢?
我假设我缺少一些基本的东西,因为必须有一种方法可以在 Observable 的初始构造函数之外发出更多消息
你应该创建一个Subject https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/subjects.md为了那个原因
this.myObservable$ = new Subject();
然后您可以随时调用:
this.myObservable$.next(...);
或者使用订阅:
this.myObservable$.subscribe(...)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)