-1
我試圖通過從Jenkins API中獲取數據來推送一些值到數組,如下所示。NodeJS console.log在執行FOR LOOP之前執行
buildNum = 14;
async.waterfall([
function(callback){
for (var i = buildNum; i > (buildNum-5); i--) {
(function(){
jenkins.build_info('BuildDefinitionRequest', i, function(err, data) {
if (err){ return console.log(err); }
var tmpObj = {};
tmpObj.jobID = data.fullDisplayName;
tmpObj.result = data.result;
tmpObj.dateTime = data.id;
console.log(tmpObj);
finalArray.push(tmpObj);
});
})();
}
callback(null, finalArray, 1);
},
function(finalArray, value, callback){
console.log(finalArray, value);
callback(null, 'done');
}
],function(err, result){
});
但是「callback(null,finalArray,1);」在for循環完成執行之前調用。 當我在for循環中打印「finalArray」的值時,我可以看到所有的值。