【发布时间】:2020-05-06 02:55:59
【问题描述】:
嗨,我是ngrx的新手。我想要实现的是有一种方法可以重复执行一个操作以获取可观察项中项目的状态更新,直到可观察项为空。为了第一 分钟我想重复执行该动作让我们说每 5 秒一次,然后放慢速度到 10 秒。但似乎我无法在此过程中更新延迟的持续时间。 对于如何实现它的任何建议,我将不胜感激。
this.myObservable$
.pipe(
delay(pollDelay),
takeUntil(this._destroyed),
map(items => {
console.warn(new Date());
if(initialPollingUntil < new Date()){
pollDelay = 10000;
}
if (items.length !== 0) {
this._store.dispatch(getStatus({ payload: { items: items} }));
} else {
this._destroyed.next(true);
}
}),
repeat()
)
.subscribe();
【问题讨论】:
-
不确定我是否理解您想要在这里实现的目标。
myObservable$是什么?发射一次还是保持开放?您是否尝试每 5 秒进行一次轮询,获取可观察的值并基于该值调度操作?在这种情况下重复什么?