Я пытаюсь использовать async.each функцию, чтобы получить массив с моими результатами из двух запросов. После этого мне нужно отобразить эти результаты на веб-странице.Почему не работает правильно async.each nodejs?
Функция async.each исчисляет переменную, которая получается правильно, но я не могу экспортировать эту переменную за пределы функции и визуализировать ее, и я не понимаю, почему.
Здесь я прикрепил код, где я его протестировал. Я понял, что когда я вызываю «callback1», функция (ошибка) не работает, и я не получаю список переменных в консоли (так что я не смогу впоследствии ее обработать). Пожалуйста, я был бы признателен, если бы кто-нибудь мог мне помочь в этом. Большое спасибо.
var list = [];
async.each(data,
function(elem, callback1){
var classgene = '';
var custom_gene = {};
custom_gene = {Name_Gene: elem['Name_Gene']};
if (elem['Type_Gene'] == "reference") {
async.waterfall([
function(callback2){
var id = elem['Id_Genes'];
geneModel.getGenesRefClass(id, function(error, data2){
classgene = data2[0]['Class_Name'];
custom_gene['classgene'] = classgene;
callback2(custom_gene);
});
},
], function(custom_gene, err){
list.push(custom_gene);
console.log(list);
callback1();
});
}
}, function(err){
// if any of the saves produced an error, err would equal that error
if(err){
console.log(list);
}else{
console.log(list);
}
});