Функция updateList вызывается каждый раз при изменении поля input, получая event в качестве аргумента. Как сбросить интервал запроса reqFn внутри updateList, для случаев когда поле input будет изменяться чаще, чем 1000 мс?
updateList = (e) => {
let query = e.target.value;
let reqFn = function(){
axios.get(`https://typeahead-js-twitter-api-proxy.herokuapp.com/demo/search?q=${query}`)
.then((response) => {
//console.log(response);
let getRq = this.props.onUpdateList.bind(this, response.data);
getRq(); // or: //this.props.onUpdateList(response.data);
})
.catch((error) => {
console.log(error);
});
}.bind(this);
setTimeout(reqFn, 1000);
}
Пытаюсь добиться аналогичного поведения: https://twitter.github.io/typeahead.js/
updateList = (e) => {
...
clearTimeout(this.timeout);
this.timeout = setTimeout(reqFn, 1000);
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости