Angular2. Comment puis-je vérifier si un observable est terminé?

Dans ma page, il y a un bouton qui génère un rapport. Que le rapport de besoin de données qui est chargé à l'aide d'un appel http à un point de terminaison rest lorsque la page est chargée, mais je n'ai pas de garantie qu'ils sont chargés lorsque l'utilisateur appuie sur le bouton rapport.

Comment puis-je regarder les observables pour voir si elle est terminée, et si elle est incomplète, à attendre sur l'action jusqu'à ce que le http appel est terminé? Voici une partie du code:

loadCompanies(): void {
    this._companyService.getCompanies().subscribe(
        response => {
            this.companiesModel = response;
        },
        err => console.log(err)
    );
}
generateReport() {
   //check if observable that loads companies is completed and do the 
   //action using companiesModel.
} 

Une option est un indicateur défini dans le chargement des entreprises avec des valeurs de "chargement" et "terminé", et de les faire attendre dans generateReport() jusqu'à ce que le drapeau est terminé,
mais je préfère une solution à l'aide de la Observable API si possible.

il suffit de faire une si(companiesModel) qui fera l'affaire, je l'espère

OriginalL'auteur csm86 | 2017-07-11