Async / Await на созданном методе - Vue2 - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть vue-element-loading пакет, добавлен его компонент в моей странице* когда страница завершает загрузку:

async created () {
  this.isActive = true
  await this.fetchData()
  this.isActive = false
}

fetchData - это запрос получения axios с ответом.Идея состоит в том, чтобы показать загрузчик, пока axios не сработает должным образом и не получит ответ.Но теперь мой загрузчик показывает 0,1 миллисекунды, а затем исчезает.

Вот метод fetchData:

fetchData () {
  axios.get(globalConfig.OFFERS_URL)
    .then((resp) => {
      this.offersData = resp.data
      console.log(resp)
    })
    .catch((err) => {
      console.log(err)
    })
},

1 Ответ

0 голосов
/ 23 сентября 2018

Похоже, ваш fetchData() не возвращает Promise из вызова на axios.get(), поэтому await, если он будет решен немедленно (т. Е. До завершения axios.get()).

Исправлено возвращение результата axios.get():

fetchData() {
  return axios.get()
           .then(/*...*/)
           .catch(/*...*/);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...