Я пытаюсь пропустить элементы из потока до n секунд, а затем взять последний элемент, который был передан в потоке. Это то, что я до сих пор:Только взять последний элемент после X секунд
const delayedState$ = state$.delay(1000);
state$.buffer(
delayedState$
).filter(
(buffer) => buffer && buffer.length > 0
).publishReplay(1).refCount().map(
(buffer) => buffer.slice(-1).pop()
).subscribe((state) => {
saveState({
buttonCount: state.buttonCount
});
})
Но это, кажется, грязный, и, кажется, не работает, когда поток имеет много изменений в очень короткой последовательности. Я в основном стараюсь следовать этому: https://github.com/tayiorbeii/egghead.io_idiomatic_redux_course_notes/blob/master/03-Persisting_the_State_to_the_Local_Storage.md
Мое ограничение; он имеет, последний элемент после n секунд, не первый элемент, а затем подождите n секунд.