Я работаю с vuejs, и мне нужно проверить, существует ли определенный элемент в базе данных, когда пользователь вводит имя, вызывая функцию checkExistence ().
Используя событие keyup, Функция вызывается несколько раз, что приводит к слишком большому количеству запросов к базе данных, поэтому я пытаюсь ее модерировать с использованием тайм-аута, чтобы запрос отправлялся только тогда, когда пользователь прекращает вводить данные, по крайней мере, в течение 2,5 секунд, но, похоже, он не работает , Кажется, что clearTimeout не работает, так как запрос делается для каждого события keyup. Вот код:
<template>
<v-list-item @keyup="checkExistence()"></v-list-item>
</template>
<script>
let timer = null;
export default {
methods: {
checkExistence() {
clearTimeout(timer);
timer = setTimeout(async () => {
//firebase request
}, 2500);
}
}
}
</script>