我正在构建一个公开 Observable 的服务。在此服务中,我收到外部函数调用,这些函数调用应触发对 Observable 的下一次调用,以便各种消费者获得订阅事件。在 Observer 构造函数期间,我可以调用 next,一切正常,但我如何在构造函数外部访问它,以便外部触发器可以触发 next 调用?
private myObservable$: Observable<any>;
在服务初始化期间我做
this.myObservable$ = new Observable(observer => {
observer.next("initial message");
}
然后在同一服务的其他方法中,我希望能够执行类似的操作
this.myObservable$.observer.next("next message");
以上显然行不通,但我怎样才能实现这个目标呢?
我假设我遗漏了一些基本的东西,因为必须有一种方法可以在 Observable 的初始构造函数之外发出更多消息
最佳答案
你应该创建一个 Subject
为此
this.myObservable$ = new Subject();
然后你可以随时调用:
this.myObservable$.next(...);
或者使用订阅:
this.myObservable$.subscribe(...)
关于RXJS Observable - 如何从 Observable 的构造函数外部调用 next,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859189/