У меня есть массив, который меняется в зависимости от ввода пользователя.Например, пользователь нажимает кнопку выбора, и я переписываю массив, когда это происходит.Я делаю запрос на выборку, когда массив соответствует требованиям, но я хочу уменьшить количество запросов, потому что пользователь может быстро выбрать много полей, и требуется только один запрос, когда пользователь фактически прекращает выбор полей.Поэтому я использую switchMap, но не могу заставить его работать.
const source$ = from(selected);
source$.pipe(
debounceTime(1000),
switchMap(() => {
if(selected.length > 1) {
const formatted = selected.map(s => s.id);
fetch(`${url}/getParams`, {
method: 'POST',
body: JSON.stringify({ formatted })
}).then(response => toCompare(response.json()));
}
})
);
Обратите внимание, что выбран мой массив, и я не делаю push / pop, но я переписываю массив полностью, но использую useStateот React Hooks.