Maison >interface Web >js tutoriel >Comment gérer les réponses asynchrones des observables dans Angular ?
Récupération de données d'un serveur en Angular l'utilisation d'un observable peut entraîner une valeur initiale non définie si elle est tentée immédiatement.
@Injectable() export class EventService { ... getEventList(): Observable<any> { ... return this.http.get(...).map(...).catch(...); } }
export class EventComponent { myEvents: any; ngOnInit() { this.es.getEventList().subscribe((response) => { this.myEvents = response; }); console.log(this.myEvents); // Initially undefined } }
La requête HTTP est asynchrone, ce qui signifie que le console.log( this.myEvents) s'exécute avant la réponse arrive.
Gérez la réponse seulement après son arrivée en utilisant le rappel d'abonnement.
ngOnInit() { this.es.getEventList().subscribe((response) => { this.myEvents = response; console.log(this.myEvents); // Not undefined }); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!