Вы регистрируете что-то, что будет установлено позже, поэтому предварительный просмотр показывает пустой массив, но вы можете развернуть его.
В журнале будет отображаться элемент как он есть сейчас; не так, как когда вы входите в систему.
var arr = [];
console.log(arr);//shows [] but when you expand it it shows items
arr.push({name:'john'});
Если вы хотите видеть значения объекта во время регистрации объекта и планируете изменять его после журнала, вы можете сделать следующее:
console.log(JSON.stringify(object,undefined,2);
Ваш оператор objects.push(response[i]);
находится в обратном вызове, и этот обратный вызов, вероятно, вызывается после вашего console.log(objects.length);
. Это можно доказать, добавив еще один журнал:
var objects = [];
this.get().subscribe(
response => {
console.log('second log')
for (var i = 0; i < response.length; i++) {
objects.push(response[i]);
}
}
);
console.log("first log",objects.length);
Если у вас есть значение, которое разрешается один раз позднее, вы можете использовать Обещания, но похоже, что вы подписываетесь на событие, которое может разрешаться несколько раз, поэтому ваш response
будет доступен только в обратном вызове.