插入区间可观察

时间:2017-05-29 08:50:07

标签: javascript rxjs observable

我有一个有一些订阅者的观察者。在定义的时间段内,它会对后端进行新的调用并检索信息。我希望能够在指定时刻触发一次性数据加载,在该可观察数据中获取该数据,但不要更改间隔。

对于这个可观察的,我有一些订阅者。

 NotificationService.notifObservable = Observable.interval(1 * 60 * 1000)
    .startWith(0)
    // merge the observable streams
    .mergeMap(res => this.http.get('ws/message/list'))
    // extract the body from the response
    .map(res => res.json())
    // use only one result
    // that is shared between subscribers
    .publishReplay()
    // converts the connectable observable to observable
    .refCount();

这里我想从同一个URL中获取数据并合并上面的observable中的数据,但我不想改变它的间隔。这意味着让我们说observable此时拉出数据,我会在10秒50秒之后触发重载,应该从该间隔开始另一个池。基本上,我只是将数据插入到observables流中。我怎么能这样做?

triggerNotifReload() {

}

1 个答案:

答案 0 :(得分:1)

您可以实现将您的observable与可观察对象(主题)合并的功能,当您按下某个值时,它会将http请求作为您的http请求。代码将是这样的:

 override func prepareForReuse()
    {
        super.prepareForReuse()
        self.imageView.image = UIImage(named: "DefaultImage"
    }

我测试了代码,它运行得很好。希望这会有所帮助。