-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”的值时,我可以看到所有的值。