диаграмма выполняется до того, как значения будут извлечены из базы данных - PullRequest
0 голосов
/ 20 июня 2020
var product_name=[];
firebase.firestore().collection('product_info')
.onSnapshot(  async function(querySnapshot) {    
 var count1=0;
        querySnapshot.forEach(async function(doc) {
         product_name[count1++]= await doc.data().name;             
            console.log(product_name);
                                  });
    })      
var total_item=[];
                product_name.forEach(async function(val,index){
                        total_item[index]=0;
                    });
firebase.firestore().collection('orders_info').where("status","==","Completed")
    .onSnapshot(function(querySnapshot) {   
querySnapshot.forEach(async function(doc) {              
                var arr=await doc.data().items;           
                arr.forEach(async function(value){
                    product_name.forEach(async function(val,index){
                        console.log("working===>",val,value);
                        if(val==value)
                        { console.log(val,"===",value);
                            total_item[index]++; 
                            console.log(index);
                            console.log(total_item); }                      
                    }); }); }); 
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
        var ctx = document.getElementById("myPieChart");
var myPieChart = new Chart(ctx, {
  type: 'pie',
  data: {
    labels: product_name,
    datasets: [{
      data: total_item,
      backgroundColor: ['#007bff', '#dc3545', '#ffc107', '#28a745'],
    }],
  }, 
 });

при запуске кода диаграмма выполняется до того, как значения product_name и total_item извлекаются из firebase, используются async / await (известные мне до меня), и в диаграмме ничего не загружается, помогите мне решить эту проблему

...