我正在构建一个暴露Observable的服务 . 在这个服务中,我接收外部函数调用,它应该触发Observable的下一个调用,以便各种消费者获得订阅事件 . 在Observer构造函数中,我可以调用next,一切都很好,但是如何在构造函数外部访问它,以便外部触发器可以触发下一个调用?
private myObservable$: Observable<any>;
在服务初始化期间我做
this.myObservable$ = new Observable(observer => {
observer.next("initial message");
}
然后在同一服务的其他方法中,我希望能够执行类似的操作
this.myObservable$.observer.next("next message");
以上显然不起作用,但我怎样才能实现这个目标呢?
我假设我缺少一些基本的东西,因为必须有一种方法可以在Observable的初始构造函数之外发出更多消息
3 回答
您应该为此创建一个Subject
然后你可以随时打电话:
或使用订阅:
两种方式:
实际上
Subject
用于 publisher and subscriber ,在这里我认为你只需要发布你的值,所以只需使用Observable .通过使用observable,将Subscriber分配给类级变量,然后使用它,如下面的代码