Vue асинхронный метод с тайм-аутом - PullRequest
0 голосов
/ 29 июня 2018

Я использую компонент spate datatables , получая данные асинхронно и разбивку на страницы.

Я хотел бы, чтобы была задержка между каждым ключом в блоке фильтра перед выполнением вызова ajax для получения данных.

Традиционно в JavaScript я бы сделал это, добавив событие keyup на вход с тайм-аутом, но я не уверен, как это сделать с компонентом Vue.

Мой текущий метод компонента выглядит так:

async fetchData({ page, filter, sort }) {

    const response =  await axios.get(this.getUrl(), this.getParams({
        page: page,
        filter: filter,
        sort: sort
    }));

    return response.data;
}

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Вы можете посмотреть на lodash throttle и отменить примеры, используя vuejs здесь Lodash Throttle и Debounce с помощью vuejs

0 голосов
/ 29 июня 2018

Вы можете взглянуть на комбинацию с методом lodash.debounce. Аналогичный вопрос размещен здесь: Как я могу отменить использование async / await?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...