我需要等待在一个服务中以异步方式设置属性,以便根据此属性执行另一个属性。
以下是我目前要解决的问题,但我想知道Rxjs或其他方法是否有更好的方法?
在这个例子中,我正在等待属性 _isInit 被初始化,我正在使用StartupListener
来“通知”其他服务:
EventEmitter
答案 0 :(得分:2)
您可以像这样使用ReplaySubject:
class OneService {
public valueStream = new ReplaySubject();
constructor() {
Promise.all([
Promise1(), //async task
Promise2(), //async task
])
.then(res => {
... //doing stuff
this.valueStream.next(value)
})
}
}
class anotherService {
constructor(myService: OneService) {
this.myService.valueStream.subscribe((value) => {
... //doing stuff
})
}
}