当我希望它基于类型参数返回数组时,我的函数未返回任何内容。我尝试使用通用类型,但无法将我的类型Array分配给t Array ...
getNourritureFromDb(type){
this.nourritureCollection = this.cantineappdb
.collection("Inventaire")
.doc("Nourriture")
.collection(type);
switch (type) {
case "Plats": {
this.nourritureCollection.ref.get().then(data => {
let platArray : Plat[] = [];
data.docs.forEach(doc => {
let plat = new Plat("", 0, false, 0, "", "", [""], false);
plat.name = doc.data().nourritureJson.name;
plat.price = doc.data().nourritureJson.price;
plat.ingredients = doc.data().nourritureJson.ingredients;
plat.type = doc.data().nourritureJson.type;
plat.availableQuantity = doc.data().nourritureJson.availableQuantity;
plat.isAvailableOffMenu = doc.data().nourritureJson.isAvailableOffMenu;
plat.imgUrl = doc.data().nourritureJson.imgUrl;
plat.temp = doc.data().nourritureJson.temp;
platArray.push(plat);
});
return platArray;
});
break;
}
case "Entrees": {
this.nourritureCollection.ref.get().then(data => {
let entreeArray : Entree[] = [];
data.docs.forEach(doc => {
...
});
return entreeArray
});
break;
}
case "Snacks": {
this.nourritureCollection.ref.get().then(data => {
let snackArray : Snack[] = [];
data.docs.forEach(doc => {
...
return snackArray
});
break;
}
case "Boissons": {
this.nourritureCollection.ref.get().then(data => {
let boissonArray : Boisson[] = [];
data.docs.forEach(doc => {
...
return boissonArray
});
break;
}
case "Desserts": {
this.nourritureCollection.ref.get().then(data => {
...
return dessertArray
});
break;
}
default : {
let emptyArray: any[] = [];
console.log("Aucun type sélectionné");
return emptyArray
}
}
}
我希望我的函数返回类型参数中调用的数组的类型。我的目标是可以调用let plat [] = getNourritureFromDb(“ Plats”);