Je suis actuellement confronté à un problème de souscription des données via Observables. Jusqu'à ce que les données de temps soient souscrites et stockées dans une variable locale (tableau d'objets) pour l'affichage, pendant ce temps le composant se charge et n'affiche donc aucune donnée car il récupère toujours les données du backend. Je suppose que le problème est avec les conditions de course (asynchrone), aucune idée sur la façon d'aborder ce problème? Je lis les données JSON qui récupèrent les valeurs dans 'ObjectArray' et remplit la même chose qu'une table de données PrimeNG sur un composant angulaire à 2 composantes.Le composant affiche un écran vide avant que les données ne soient souscrites à partir de Observable
<p-dataTable [value]="ObjectArray">
<p-column field="label"></p-column>
</p-dataTable>
code
pour vous abonner:
constructor(private store: Store<fromRoot.State>){
this.metaData$ = store.select(fromRoot.getMetadata);
}
this.metaData$.subscribe(
data => {
if (data.length > 0) {
data.forEach(v => this.ObjectArray.push({...v}));
}
});
Vous pouvez envelopper le composant dans un ''
pour retarder l'affichage.Vous pouvez également ajouter un '