Ниже приведено действие, которое отправляет действие загрузки в магазин. Соответствующий эффект обработает запрос и отправит обратно элементы ответа.
Но я хочу, чтобы я переключил действие ниже с помощью кнопки.
Так что, если я нажму кнопку «Пуск», она начнет отправлять действия каждые 1 с, а если я нажму кнопку «Пауза», она приостановит диспетчеризацию и снова. Если я нажму кнопку «Старт», она продолжит с того места, где она оставалась, и повторяется так ...
Как я могу переключить такое действие?
let date = 1587513626000; // date is required because the backend only sends data with a start and end date
interval(1000).pipe(tap(_ => {
this.store.dispatch(loadStoreItems({ limit: 10, start: date, end: date + 1000 }))
date += 1000
}))
.subscribe()
Я пробовал несколько операторов, некоторые из них частично работают (например, иногда с помощью takeWhile / takeUntil я могу пауза) но не в состоянии перезапустить.