Есть такая проблема. По http запросу вытаскиваю данные с сервера для первичной инициализации. Но возникает проблема во время выполнения - данные которые риходят в ответах не получается перехватить из за асинхронности таковых запросов.
Пример отражает мою проблему. Максимально упростил для понятности.
Код: Выделить всё
export default {
data: function () {
return {
order: null,
}
},
created() {
this.initOrder();
this.initOptions();
},
methods: {
initOrder() {
HTTP.get('/orders/id=' + this.$route.params.id).then((response) =>
{
this.order = response.data;
});
},
initOptions() {
console.log(this.order); // return null
// ...
this.order.param = 'oops'; // exception cannot read property of null
// ...
setTimeout(() => {
console.log(this.order); // return expected object
this.order.param = 'oops'; // so good by setTimeout is cumbersome
}, 1000);
}
},
}
}
Интересует - как можно решить данную проблему в крайнем случаем убийством ассинхронности или еще как то по человечески.