callback problem.

瀏覽次數:10 次
跳到第一則未讀訊息

Buddha Priya Mowrya Kanneganti

未讀,
2017年7月28日 下午2:25:422017/7/28
收件者:LoopbackJS
Hi,
I'm new to Loopback, in below remotemethod foreach is getting executed by calling other queries(request.count) and it is returning method call without waiting for request.count to return value.

each time method is returning different different count. 
=========================================================
Scheme.WardWiseAppliedApproved = function (cb) {
var mWard = server.models.Ward;
var Request = server.models.Request;
mWard.find({"where":{"status": "Active"}}, function (err,wardList) {
var finalObject=[];
if(wardList!=undefined && wardList.length>0){
var tfalseCount=0;
var tapprovedCount=0;
var trejectedCount=0;
var totalCount=0;
var count=0;
wardList.forEach(function(ward) {
console.log(JSON.stringify(ward.name));
var ArgData = "'wardNumber':"+ward.name;
//console.log('--------------'+ArgData);
var queryData = {'wardNumber':ward.name};
Request.count({'and':[queryData]}, function (err, reports1) {
console.log('Total Applied'+JSON.stringify(reports1));
tfalseCount=reports1;
Request.count({'and':[queryData,{"finalStatus" : 'Approved'}]}, function (err, approved1) {
console.log('Total Approved'+JSON.stringify(approved1));
tapprovedCount=approved1;
Request.count({'and':[queryData,{"finalStatus" : 'Rejected'}]}, function (err, reject) {
trejectedCount=reject;
console.log('Total Rejected'+JSON.stringify(reject));
totalCount=tfalseCount+tapprovedCount+trejectedCount;

});});});
var data={
'schmeDetails':ward,
'tfalseCount':tfalseCount,
'tapprovedCount':tapprovedCount,
'trejectedCount':trejectedCount,
'totalCount':totalCount
}
finalObject.push(data);
count++;
console.log("-----done---::"+count);
if(wardList.length==count){
cb(null,finalObject);}

});
}
});
};
回覆所有人
回覆作者
轉寄
0 則新訊息