Не записывается объект в массив в Vue.js

179
30 апреля 2019, 05:00

Подскажите, пожалуйста, почему в переменную this.character2[i] записывается только один объект?

 watch: {
  id: function(){
    this.character2 = [];
    this.people = this.info.results[this.id].characters;
    for(var i = 0; i < this.people.length; i++){
      this.axios.get(this.people[i]).then(response => (this.character2[i] = response.data.name));
    }
    console.log(this.character2);
  }
}

Answer 1

Потому что к моменту выполнения всех this.character2[i] = response.data.name, значения i одинаковы и равны this.people.length.

for(let i = 0; i < this.people.length; i++){
  this.axios.get(this.people[i]).then(response => (this.character2[i] = response.data.name));
}

Как вернуть значение из события или из функции обратного вызова? Или хотя бы дождаться их окончания

READ ALSO
Как сделать подгрузку данных с помощью Intersection Observer?

Как сделать подгрузку данных с помощью Intersection Observer?

Всем приветПрочитал про такое api, как Intersection Observer, но использовать это, почему-то не состояние

187
Система счисления?

Система счисления?

функция parseInt превращает из 16 системы счисления в 10 систему счисления, а можно наоборот ? Или нужно использовать toString ?

155
Как обработать объект в рекурсии, чтобы можно было найти среднее значение JS

Как обработать объект в рекурсии, чтобы можно было найти среднее значение JS

Как правильно обработать объект в рекурсии, чтобы можно было найти среднее значение value? часть объекта

199