как мне поместить sh данные в массив, объявленный во внешнем .then, функция react js - PullRequest
0 голосов
/ 13 июля 2020

Я использую firestore для хранения родительских и дочерних категорий. Ниже приведен код, мне нужно поместить sh данные в fetchedProducts из внешних и внутренних функций .get (). Структура поля Do c выглядит следующим образом: category_image: "" category_name: "" parent_category: "" parent_category_id: "" userid: ""

db.collection("product_categories")
  .where("userid", "==", userid)
  .where("parent_category", "==", "")
  .get()
  .then(response => {
    var fetchedProducts = [];
    response.forEach(document => {
      const fetchedProduct = {
        id: document.id,
        ...document.data()
      };
      fetchedProducts.push(fetchedProduct);

      db.collection("product_categories")
        .where("parent_category_id", "==", document.id)
        .get()
        .then(res => {
          res.forEach(doc => {
            const fetchedProduct1 = {
              id: doc.id,
              ...doc.data()
            };
            fetchedProducts.push(fetchedProduct1);
          });
        });
    });
    setState(state => ({ ...state, product_categories: fetchedProducts }));
  });
...