我将任务定义为对象数组。 getHbaseAllCountries
将所有国家/地区代码作为数组返回,我尝试将其存储在变量selectedCountries
中。我将此var selectedCountries []
传递给getComponentsGraphData
以获取数据。但是当我console.log(selectedCountries)
它给我空数组[]
时,虽然我添加了一个回调。
var tasks = [{
func: 'getHbaseAllCountries',
options: options
}];
var results = [];
var selectedCountries= [];
async.forEach(tasks, function(value, callback) {
if(value["func"] === 'getHbaseAllCountries') {
cmodel.getHbaseAllCountries( value["options"],function(err, values) {
if (err) {
v.send(err);
return;
}
for(var index=0; index< values.length; index++){
selectedCountries.push(values[index].key);
}
console.log(selectedCountries);// prints the desired results
callback(err,values);
});
}
console.log(selectedCountries);// prints []
cmodel.getComponentsGraphData(type, selectedCountries, value["country"], value["model"], function(err, data) {
//console.log("Data for: " + JSON.stringify(value));
results.push({
_id: value["key"],
data: data
});
callback(err, data);
});
}, function(err) {
if (err) {
v.send(err);
return;
}
v.send(results);
});
答案 0 :(得分:0)
您致电 $this->SetLineWidth( 1 );
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 1, false, false, false);
,但不知道您的请求getComponentsGraphData
是否已结束。您应按照评论中的建议移动getHbaseAllCountries
的来电。此外,使用链式承诺会更好。
getComponentsGraphData