Добрый день. Подскажите, пожалуйста, почему теряется контекст в замыкании
export function addListeners() {
const listeners = document.querySelectorAll('.route-box__input')
listeners.forEach((item) =>
item.addEventListener('input', debounce(requestInput, 5000))
)
}
function debounce(func, delay) {
console.log(this) //почему здесь this undefined?
let timeout
return function () {
console.log(this) //здесь this сам элемент
const context = this
clearTimeout(timeout)
timeout = setTimeout(function () {
func.call(context)
}, delay)
}
}
async function requestInput() {
const request = await ymaps.suggest(this.value)
console.log(request)
}