Проблемы с обратным вызовом / обещанием вложенного цикла - PullRequest
0 голосов
/ 02 ноября 2018

Я не могу понять, как вернуть mealsOnline вложенного цикла. Обратный вызов кажется невозможным, так как мой второй цикл имеет изменение размера. И я не уверен, что я делаю неправильно с обещанием.

  function cookMapData() {
     var mealsOnline = [];
     db.collection('users').get().then(function (snapshot) {
        snapshot.forEach(cookUser => {
           cookUser.ref.collection('meals').where("portion", ">=", 1).get().then(function (snapshot2) {
              snapshot2.forEach(meal => {
                 console.log("test2");
                 var mealObject = meal.data();
                 mealObject.address = cookUser.data().address;
                 mealsOnline.push(mealObject);
              });
           });
        });
        // return Promise.all(mealsOnline);
     }).catch(err => {
        console.log('Error getting documents', err);
     });
  };
...