Показать сообщение отдельно
  #1 (permalink)  
Старый 13.04.2021, 23:37
Интересующийся
Отправить личное сообщение для vlad_kl Посмотреть профиль Найти все сообщения от vlad_kl
 
Регистрация: 16.06.2020
Сообщений: 22

Как поставить задержку на fetch при событии oninput
Всем добрый день!
Нужна ваша помощь.

Такая задача. Дан инпут, пользователь вводит что-то в инпут и каждый раз в живом режиме так сказать должен улетать запрос на сервер.
Для примера в коде ниже я взял запрос на jsonplaceholder.

Суть в том, что каждое событие печатания генерит кучу запросов на сервер. Нужно поставить задержку или так называемый denounce на отправку запросов.
Допустим, отправлять запрос на сервер спустя 1 секунду после того, как сработало событие oninput (по сути, как человек перестал печатать).

let request = function() {
	return fetch('https://jsonplaceholder.typicode.com/users')
	.then(response => response.json())
	.then( data => console.log(data))
}

let area = document.querySelector('input');
area.addEventListener('input', request)


В интернете достаточно информации по этому поводу, но мне так и не удалось найти подходящее решение. Или не работает код, или я что-то не так делаю, или ещё что-то

Прошу вашей помощи в моём примере, как сделать именно этот пример так, что оно работало

Спасибо заранее.
Ответить с цитированием