Как асинхронно забрать данные в хуке «created»?

Всем привет , подскажите пожалуйста, как корректно взять данные ?
Давайте по порядку, Это функция в methods перебирает мой массив на наличие соответствия в Json,
Так же в methods и Axios запрос, но вызываю его в created ( см. ниже )

toggleIcon: function() {
for(var key in this.icon) {
if (this.icon[key].id.slice(0,2) == this.value_icon) {
this.icon[key].value = true;
}
}
}


Все бы ничего , но по debugger я отследил , что переменная this.value_icon пустая, пробовал SetTImeOut , но результатов не дал. может мне просто вызывать функцию в другом хуке ?
created() {

this.getPosition();
this.measureSystemC();
this.measureSystemF();
this.toggleIcon(); // нет доступа к переменной с json

},
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
Created поддерживает async. Можно код так дописать (await можно указать, только для метода с промисом)
async created() {
   await this.getPosition();
   await this.measureSystemC();
   await this.measureSystemF();
   this.toggleIcon();
},


Пример работы - https://codesandbox.io/s/xrpw40y7vp
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы