Я строю динамическую c таблицу для использования в моем приложении. Я использую параметры @Input для отправки информации, такой как заголовок и элементы для таблицы.
Это входные данные для компонента таблицы generi c.
@Input()
public listaElementosTabla: any = [];
@Input()
public titulosCabecera = [];
@Input()
public cantidadMaximaRegistros: number;
И я вызываю Компонент таблицы следующим образом:
<tabla-component [listaElementosTabla]="arrayElements"
[titulosCabecera]=headElementsArray cantidadMaximaRegistros=5></tabla-component>
У меня есть служба для запроса информации из BD для определенных c данных, и я сохраняю эту информацию в массиве «arrayElements». Я вызываю службу на странице onInit.
ngOnInit() {
this.myService.queryInfoInBd().subscribe(
(data: ObjectDTO[]) => {
data.forEach((objectDTO: ObjectDTO) => {
this.arrayElements.push(objectDTO);
});
},
error => {
console.log(error);
}
);
}
Проблема здесь в том, что компонент таблицы загружается первым при вызове службы, поэтому, когда компонент пытается получить информацию о arrayElements всегда пусто.
Я знаю, javascript asyn c, но я не знаю, как сделать, чтобы служба закончила работу sh и массив загрузил информацию и после этого загрузите компонент таблицы.