Поиск с подсказками отправляет запрос на каждую нажатую букву
Поле поиска товаров отправляет запрос в onChange. Пользователь печатает «кроссовки» — уходит девять запросов за полторы секунды, сервер поиска нагружен, ответы на промежуточные буквы продолжают грузиться после того, как нужен уже только последний.
Какой набор мер правильный?
- Задержка до паузы в наборе и отмена предыдущего запроса через AbortController
- Отправлять запрос только при длине строки больше девяти символов
- Кэшировать ответы в localStorage по введённой строке
- Отправлять запрос раз в секунду по таймеру, независимо от ввода
