我有一个有一些订阅者的观察者。在定义的时间段内,它会对后端进行新的调用并检索信息。我希望能够在指定时刻触发一次性数据加载,在该可观察数据中获取该数据,但不要更改间隔。
对于这个可观察的,我有一些订阅者。
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() {
}
答案 0 :(得分:1)
您可以实现将您的observable与可观察对象(主题)合并的功能,当您按下某个值时,它会将http请求作为您的http请求。代码将是这样的:
override func prepareForReuse()
{
super.prepareForReuse()
self.imageView.image = UIImage(named: "DefaultImage"
}
我测试了代码,它运行得很好。希望这会有所帮助。