clearTimeout не очищает переменную тайм-аута - PullRequest
0 голосов
/ 18 января 2020

Я работаю с 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...