Если вы собираетесь использовать async / await (и я согласен, что вы должны), вы должны сделать это и для вызова http.await somefunc().then()
похоже на плохое смешение стилей.Преимущество также в том, что он короче.
data() {
return {
panels:[],
};
},
async created() {
await this.fetchPanels();
console.log(this.panels);
},
methods: {
async fetchPanels() {
const response = await this.$http.get(Shared.siteUrl + "/api/" + this.category_title + "/panels")
this.panels = response.body.data;
},
Имейте в виду, что жизненный цикл Vue не ожидает ваших асинхронных хуков жизненного цикла.Это не будет проблемой в этом примере, но это определенно хорошо иметь в виду.Т.е., если бы вы добавили
mounted() {
console.log(this.panels);
},
, он бы получился пустым, потому что асинхронные задачи в created()
теперь будут выполняться после mounted()