Угловой HttpClient получить подписку не ждет - PullRequest
0 голосов
/ 17 марта 2019

Я пытался заставить Angular дождаться завершения моего вызова http.get, прежде чем продолжить. Я использую с помощью http.get (url) .subscribe (result => {this.part = result as Part [];});

Из исследования, которое я обнаружил в сети, следует называть Observable асинхронным, верно?

Спасибо за помощь.

Edit:

private updateEquipmentList() {
this.setEquipmentLocations();
let info: EquipTableItem[] = [];
this.equipmentLoc.forEach(function (value) {
  info.push({
    tagId: value.eqttagid,
    tagName: value.eqtname,
    model: value.pdmodel,
    serial: value.eqserial,
    address: value.adname,
    state: value.stname
  });
});
info.push({
  tagId: '3',
  tagName: 'RTU',
  model: 'msdlkh',
  serial: '23ans',
  address: '23as sS',
  state: 'Oregon'
});
this.data = info;

}

private setEquipmentLocations() {
  this.http.get(url).subscribe(result => {
      this.equipmentLoc = result as EquipmentLocation[];
    });
}

Кажется, что функция setEquipmentLocations не завершает вызываться до того, как Angular продолжает пытаться проанализировать equipmentLoc, потому что, когда я запускаю браузер в отладчике и запускаю функции по одной, EquipmentLocation заполняется информацией. Но за пределами режима отладчика equipmentLoc остается пустым.

...