我是节点j的初学者。我正在使用mySQL数据库。我有一个查询,它返回一个数据集,然后我使用for循环访问该数据集的每个元素。问题是在循环内部我为数据集的每个元素创建了一个新查询,我不知道为什么它不能正常工作。第二个查询在for循环结束之前不会返回任何内容,我希望它为前一个第一个数据集的每个元素返回一个值。任何帮助都会感激不尽,非常感谢。
Cristina Osuna
这里是代码:
first query: geneModel.getGenesRefPut
second query: geneModel.getGenesRefClass
---------------------------------------
/* GET genes page. */
router.get('/genes', function(req, res, next) {
var listTotal=[];
geneModel.getGenesRefPut(function(error, data)
{
for (i = 0; i < data.length; i++) {
var classgene = '';
var custom_gene = {};
if (data[i]['Type_Gene'] == "reference") {
custom_gene = {Name_Gene: data[i]['Name_Gene'], Alias_Gene: data[i]['Alias_Gene'], Id_Plants: data[i]['Id_Plants'], Type_Gene: data[i]['Type_Gene'], Name_SpeciePl: data[i]['Name_SpeciePl']};
var id = data[i]['Id_Genes'];
geneModel.getGenesRefClass(id, function(error, data2)
{
classgene = data2[0]['Class_Name'];
custom_gene['classgene'] = classgene;
});
listTotal.push(custom_gene);
}
}
console.log(listTotal);
});
res.render('genesDetails', {listTotal: listTotal});
});