如何基于nodejs中mysql query1的输出顺序调用mysql query2

suzh9iv8  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(127)

我使用mysql、nodejs和express返回一个json,其中包含类似于country、state列表的数据。
前任:
[{“国家名称”:“印度”、“大陆”:“亚洲”、“国家”:[{“州代码”:“mh”},{“州代码”:“ka”}]}]
国家保存在t_国家中,州保存在t_国家中
我可以编写一个存储过程或一个带有连接的简单查询来返回我需要的信息,但它不会像上面提到的示例json响应那样采用结构化的方式。
为了实现这一点,我必须调用两个查询country和state,其中查询2中的输出country\u id、country\u name将作为输入,以获取给定国家中的状态。

mysqlconnect.query('SELECT * FROM t_country ,(err,rows,fields)=>{
console.log('Errors =>'+err);
if(!err && rows.length!=0){

var return_result = rows;
for (var i = 0; i < rows.length; i++) {
mysqlconnect.query('SELECT * FROM t_states where country_id='+mysqlconnection.escape(rows[i].country_id) ,(err,rows,fields)=>{
console.log('Errors =>'+err);
if(!err && rows.length!=0){
    ---> forming array here
}})

}

}
else
{
return null;
}
})

由于nodejs是单线程的,所以我必须使用async和wait。我的流程需要等到q1完成,然后根据q1结果执行q2。完成后,我必须准备json。
我正在跟踪nodejsmysql异步等待。但不知何故,情况变得越来越复杂。
有人能帮我理解/实现这个功能使用异步和等待!!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题