Вызываю этот метод на хуке
created
Срабатывает блок
else
должно вернуть значение (число) с сервера, но это происходит только после второго обновления. При первом обновлении получаю старое значение. В чем может быть ошибка?
methods: {
zeroTest() {
// объект с ключами всех дат по записям пользователя
const keysDates = this.infoCurrentUser.userСalories;
/* Получаем ключ последней даты записанной в бд, и переворачиваем его,
для того чтобы корректно распарсить. */
const lastRecordedDate = Object.keys(keysDates)[Object.keys(keysDates).length - 1].split('-')
.reverse()
.join('-');
// Возвращаю кол-во миллисекунд последней даты в бд
const lastDateMseconds = Date.parse(lastRecordedDate);
// Получаю текущую дату в нужно формате для дельнейшего парсинга.
const currentData = new Date().toLocaleString().slice(0, 10).split('.')
.reverse()
.join('.');
// Возвращаю кол-во миллисекунд текущей даты
const currentDataMseconds = Date.parse(currentData);
// Если текущая дата больше последней, обнуляем счетчик кал.
if (currentDataMseconds > lastDateMseconds) {
this.caloriesPerDay = 0;
} else {
// В противном случае записываем значение из бд
return new Promise((resolve) => {
resolve(this.infoCurrentUser.userСalories[
Object.keys(keysDates)[Object.keys(keysDates).length - 1]]
.caloriesEatenPerDay);
}).then((el) => console.log(el));
}
return 0;
},