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 (известные мне до меня), и в диаграмме ничего не загружается, помогите мне решить эту проблему