Node.js 更改回调函数中的全局变量值

Node.js 更改回调函数中的全局变量值,node.js,Node.js,我调用函数并将数据推送到数组中,但数组为空 property.forEach(function(proObj){ var photo=[]; proObj.photosId.forEach(function(Pid){ fileUpload.fetchPhotoById(Pid,function(photoObj){ photo.push(photoObj); //photo obj is added to photo Array console.log(

我调用函数并将数据推送到数组中,但数组为空

property.forEach(function(proObj){
  var photo=[];
  proObj.photosId.forEach(function(Pid){
    fileUpload.fetchPhotoById(Pid,function(photoObj){
      photo.push(photoObj); //photo obj is added to photo Array
      console.log('source:-'+photoObj); // getting data correctly
    }) 
  })
  proObj.photos=photo;  
  console.log('Photo Array'+photo); // photo has default value means empty array
})

请帮助我的任何人解决

可能重复的问题,我无法理解解释任何简单的解决方案。所有函数都是异步的,您只能在回调函数(或使用承诺或异步等待)中获得结果。我使用了回调函数,但没有使用gettingUse let photo=[];