【发布时间】:2014-10-09 22:38:27
【问题描述】:
我正在尝试通过从 Jenkins API 获取数据来将一些值推送到数组,如下所示。
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){
});
但是“回调(null, finalArray, 1);”在 for 循环完成执行之前被调用。 当我在 for 循环中打印“finalArray”的值时,我可以看到所有的值。
【问题讨论】:
标签: javascript node.js asynchronous