Отменить асинхронный метод - PullRequest
0 голосов
/ 20 июня 2019

Гол -

Добавить проверку в реальном времени для ввода с только XHR-часть этой проверки, подлежащей обсуждению .

Проблема -

Добавление debounce к valueExists() разрывам await. Без debounce это await с правильно.

Как с этим обращаться?

methods: {
  async validate () {
    let local_errors = [];

    if (!!this.value && !this.$data.alpha_dash.test(this.value)) {
      local_errors.push('Invalid character');
    }

    if (!!this.value && await this.valueExists()) {
      local_errors.push('Already used');
    }

    return local_errors;
  },

  valueExists: _.debounce(function () {
    return axios.get(route('organization.slug.exists', { slug: this.value }))
      .then(response => {
        return false;
      })
      .catch(error => {
        return true;
      });
  }, 1000)
}

1 Ответ

0 голосов
/ 20 июня 2019

добавление асинхронной функции в отлаженную функцию должно работать:

valueExists: _.debounce(async function () {
    await axios.get(route('organization.slug.exists', { slug: this.value }))
      .then(response => {
        return false;
      })
      .catch(error => {
        return true;
      });
  }, 1000)
...