Dans la méthode de service ci-dessous, je transmets deux requêtes parallèles au serveur à l'aide de Promise.all. Les résultats sont renvoyés et stockés dans le tableau productCategoryData. Ce tableau est enregistré sur la console et les données sont vérifiées.Accès aux données renvoyées par Promise.all
méthode de service
public getProductCategoryData() {
var productCategoryData = [];
return Promise.all([this.http.get(this.specialValueUrl),
this.http.get(this.applianceBrandUrl)])
.then(function(responses) {
responses[0].toPromise().
then(response => {
let specialvalues: SpecialValue[] = response.json();
productCategoryData[0] = specialvalues;
// console.log(specialvalues)
});
responses[1].toPromise().
then(response => {
let applianceBrands: ApplianceBrand[] = response.json();
productCategoryData[1] = applianceBrands;
// console.log(applianceBrands)
});
return productCategoryData;
})
}
Le tableau productCategoryData est ensuite passé à l'élément où il est enregistré une fois de plus à la console. J'affecte ensuite les données du tableau productCategoryData à deux tableaux définis dans le composant: this.specialValues et this.applianceBrands. Mais ils ne sont pas définis lors de la connexion à la console. Je m'attends à ce que ces tableaux aient des données.
méthode des composants:
private getProductCategoryData() {
this.productCategoryService.getProductCategoryData()
.then(productCategoryData => {
this.specialValues = productCategoryData[0];
this.applianceBrands = productCategoryData[1];
console.log('productCategory.Data = ', productCategoryData) //has data
console.log('this.specialValues = ', this.specialValues) //undefined
console.log('this.applianceBrands = ', this.applianceBrands) //undefined
});
}
Est-ce AngularJS (angulaire v1.x) ou angulaire (+ angulaire v2)? Si AngularJS, s'il vous plaît changer le tag à 'angularjs'. – DeborahK
Il est angulaire 2 – koque
OK, donc je suppose que vous voulez dire la méthode 'Component' et pas la méthode' Controller'? Et est-il possible d'utiliser les Observables à la place des Promesses ici? – DeborahK