Rxjs,等待的最佳方法,并通知要设置的属性?

时间:2017-07-14 13:07:00

标签: angular rxjs

我需要等待在一个服务中以异步方式设置属性,以便根据此属性执行另一个属性。

以下是我目前要解决的问题,但我想知道Rxjs或其他方法是否有更好的方法?

在这个例子中,我正在等待属性 _isInit 被初始化,我正在使用StartupListener来“通知”其他服务:

EventEmitter

1 个答案:

答案 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
        })
    }

}