【发布时间】:2019-03-28 14:33:12
【问题描述】:
我想在节点应用程序中执行数据库操作。我期望的是一个接一个地执行查询,即按顺序执行第二个查询取决于先前的操作。目前,我正在使用 async.series 模块来实现预期的结果,但是当我编写嵌套查询时,查询是异步执行的。如何在执行嵌套查询时消除这种异步行为?以下是我的代码。
async.series([
function(callback){
dbClient.query(select_show_query,function(err,result1){
callback(err,result1.rows);
}) //dbclient query end
},//function end
function(callback){
dbClient.query(select_show_person_query,function(err,result2){
callback(err,result2.rows);
}) //dbclient query end
},//function end
function(callback){
dbClient.query(select_show_role_query,function(err,result3){
callback(err,result3.rows);
}) //dbclient query end
},//function end
function(callback){
dbClient.query(select_show_episode_query,function(err,result4){
callback(err,result4.rows);
}) //dbclient query end
},//function end
function(callback){
dbClient.query(select_show_genre_query,function(err,result5){
callback(err,result5.rows);
}) //dbclient query end
},//function end
function(callback){
dbClient.query(select_profile_photo_query,function(err,result6){
callback(err,result6.rows);
}) //dbclient query end
}//function end
],function(err,results){
if(err){
res.json({"status": "failed", "message": err.message})
}
else{
res.send(JSON.stringify(results));
}
} //function end
); //async end
【问题讨论】:
标签: node.js postgresql async.js