Если честно, сложно угадать, чем вы хотите заниматься. Было бы здорово увидеть больше информации об этом.
Ниже вы можете найти обновленную версию вашего кода, которая выполняет проверки каждые 5 секунд, а после того, как initialPollingUntil
прошло, она выполняет проверки каждые 10 секунд.
Просто замените свой код на этот.
const tick = new BehaviorSubject(initialPollingUntil);
tick.pipe(
switchMap(date => this.myObservable$.pipe(
first(),
delay(date < new Date() ? 10000 : 500),
)),
tap(items => {
if (items.length !== 0) {
this._store.dispatch(getStatus({ payload: { items } }));
} else {
this._destroyed.next(true);
}
}),
tap(() => tick.next(tick.value)),
// takeUntil(this._destroyed), // <- uncomment if this._destroyed should kill all subscriptions.
).subscribe();