{
if (this.timeout !== null) {
clearTimeout(this.timeout);
}
this.timeout = setTimeout(() => {
localStorage.setItem('tasks', JSON.stringify(this.testTasks.value));
}, 500);
}
Метод вызывается в других методах, чтобы избежать лишнего вызова обернул в setTimeout, но хотелось бы это сделать через rxjs с debounceTime(500). Подскажите как это все устроить?)
updateTasks() { timer(500).pipe( take(1) ).subscribe(() => localStorage.setItem('tasks', JSON.stringify(this.testTasks.value))); }
Но вообще мне кажется тут стоит начать с вопроса необходимости такого функционала
Можно по подробнее?)
Мне кажется или он тут будет вызывать раз столько раз сколько обращений будет?)
В чем необходимость таймаута в 500? Я как понимаю там вэйтинг результата респонса, почему не сделать сразу по результату, а не по фантомным 500мс?
А, там в этом подвох) Тогда да, сейчас поправлю
Там происходит обновление по interval, для актуализации данных, и там он может сработать одновременно)
Ого, спасибо! Вроде то самое) Осталось вникнуть)
Обсуждают сегодня