Пользователь вводит значения в форме, и событие генерируется каждый раз, когда пользователь редактирует определенное поле, причем значением является поле, которое он редактировал.
Например, пользователь, набравший 3 раза в поле описания, а затем два раза в поле имени, будет выглядеть как
"description" => "description" => "description" => "name" => "name" => ...
Я хочу буферизовать уникальные значения и выдавать их в виде массива, когда пользователь прекращает вводить x количество секунд. Значение может снова появиться в другом окне буфера.
По сути, это отслеживание того, какие поля были обновлены, когда пользователь прекратил печатать, и связь с сервером для сохранения отредактированных значений.
Пока у меня есть это, которое излучает каждые 3000 мс, плюс это не предотвращает дублирование при буферизации, но вместо этого мы "дедуплицируем" массив впоследствии.
this.update$
.bufferTime(3000)
.filter(buffer => buffer.length > 0)
.map(buffer => [...new Set(buffer)])
.subscribe(x => console.log(x));
Таким образом, он должен прослушивать до тех пор, пока значение не будет передано, а затем буферизовать уникальные значения до , пока больше не будет выдано никаких значений в течение x секунд, а затем испустить буфер и повтори. Как этого добиться?