0
저는 node.js를 처음 사용하고 async.forEach()를 사용하여 코드를 작성했습니다. 잘못되었습니다. 실수를하지 않을 것입니다.async.forEach를 사용하는 객체의 배열에 대한 작업
async.forEach(payload.bookings,fun,function(err,res){
var data ;
if(err)
console.log(err);
if(res) {
data = res;
console.log(data);
}
});
function fun(booking,cb){
var dataToSave = {};
//service choosen by customer
var service_id = booking.serviceId;
dataToSave.serviceId = service_id;
var query = {
services : {$elemMatch : { serviceId : service_id } }
};
var projection = {
cellPhoneNumber :1,
countryCode:1,
services :1
};
var options = {};
Service.serviceProvider.getServiceProviders(query,projection,options,function(err,data){
if(err)
cb(err);
else{
if(data && data.length>0){
//getting list of SP which gives the service name given by customer
dataToSave.serviceProviderList = [];
for(var sp=0;sp<data.length;sp++){
var serviceProvider = {};
serviceProvider.id = data[sp]._id;
//searching in services array of one particular service id
for(var j=0;j<data[sp].services.length;j++){
if(data[sp].services[j].serviceId==service_id)
{
serviceProvider.serviceRate = data[sp].services[j].rate;
break;
}
}
dataToSave.serviceProviderList.push(serviceProvider);
}
cb(dataToSave);
}
else{
cb();
}
}
});
};
는 출력 :
이{ serviceId: '578e0da7c8c4cfc807040852',
serviceProviderList:
[ { id: 578e18f6ed564791083c75ad, serviceRate: 200 },
{ id: 578e1996ed564791083c75b4, serviceRate: 200 } ] }
예상 출력 : 내가 클릭 documentation.When
나는 자신감에 본{ serviceId: '578e0da7c8c4cfc807040852',
serviceProviderList:
[ { id: 578e18f6ed564791083c75ad, serviceRate: 200 },
{ id: 578e1996ed564791083c75b4, serviceRate: 200 } ] }
{ serviceId: '578dca50e93da81f0423f6b6',
serviceProviderList: [ { id: 578e18f6ed564791083c75ad, serviceRate: 100 } ] }
그것이 running.only에 유지을 그것을 밖으로 시도가 보여줍니다 console.log()를 사용하여 인쇄 한 객체
로 변경? – Iceman
@Iceman "async": "^ 2.0.0-rc.6" –
'.each()'문법으로 정확히 쓰지만, 문서에서'.forEach()'를 찾을 수 없습니다. – Iceman