Я вполне уверен, что это как-то связано с проблемой объема, но я не могу найти в Интернете ничего об этом. У меня есть служба, которая возвращает базовое Observable из API, содержащего данные, с которыми я хочу обновить переменную rowData.
MyService.ts
fetchDummyData(): Observable<DummyResponse[]> {
return this.http.get<DummyResponse[]>('***SOME_API***');
}
MyComponent
Если я попытаюсь добавить данные в rowData, сетка не обновится
rowData = [];
/////////////
////////////Other stuff
this.myService.fetchDummyData().subscribe(
data => {
for (let i = 0; i < data.length; i++) {
this.rowData.push(
{
idType: 'ID Type ' + (i + 1),
description: 'adfasdf'
}
)
//This log prints the correct thing, but rowData remains empty outside the loop
console.log('Row id: ' + this.rowData[i].idType);
}
}
)
Но если я добавлю это после вызова подписки выше, это сработает.
rowData = [];
/////////////
////////////Other stuff
this.myService.fetchDummyData().subscribe(
data => {
for (let i = 0; i < data.length; i++) {
//Do Nothing
}
}
)
//This actually updates the rowData
this.rowData.push(
{
idType: 'ID Type ' + (i + 1),
description: 'adfasdf'
}
)
Почему rowData не обновляется глобально в вызове подписки?