Опять кто-то не понял
асинхронности.
axios.get()
возвращает Promise. Его метод
.then()
выполнится не сразу, а когда-то потом, когда будет получен результат запроса. Представьте, что интернет очччеенньь мееедленнныыыйй.
Зато остальной код выполняется привычно сразу («синхронно»). В т.ч. и
console.log()
в последней строке – сразу же за созданием объекта. Но на тот момент веб-запрос ещё не выполнился.
TL&DR надо ждать. Это можно делать несколькими способами: коллбэком, промисами, обёрткой вокруг них async/await.
Напримерclass Address {
address = null;
data = [];
data() {
return this.data;
}
constructor(address) {
this.address = address;
}
fetchInformation() {
return axios.get(`${API_BASE}/getAddressInformation`, {
params: {
address: this.address
}
}).then(({ data }) => this.data = data);
}
}
async function initialize() {
const address = new Address(TEST_WALLET);
await address.fetchInformation();
console.log(address);
}
initialize();