当我在每个switch语句中返回时,为什么我的函数无效?

时间:2019-02-01 21:05:31

标签: node.js angular

当我希望它基于类型参数返回数组时,我的函数未返回任何内容。我尝试使用通用类型,但无法将我的类型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”);

0 个答案:

没有答案