我正在使用快速框架工作的node.js web应用程序,我需要从mysql数据库获取结果。我希望得到同步的结果。有可能的。请建议。例如:
result = [{id:4,is_parallel:'No',name:'Pankaj'},{id:5,is_parallel:'Yes',name:'uu'},{id:6,is_parallel:'No',name:'kk'}]
for(val in result){
if(result[val].is_parallel=='No'){
var parallelArray = {};
parallelArray.id = result[val].id;
parallelArray.name = result[val].name;
newArray.push(parallelArray);
console.log(newArray);
}else{
$sql ='select id,process_wf_id from process_workflow_parallel_branch where process_wf_id='+result[val].id+'';
connection.query($sql,
function(err, results) {
if(err){
callback(err,null);
}else{
if(results.length>0){
for(val in results){
//
}
}
}
});
}
}
答案 0 :(得分:0)
就你使用connection.query
而言,不可能同步接收结果,因为该函数是异步的,你无法避免强制它同步。此外,在可能的情况下依赖异步是可行的,因为风险是阻塞操作(例如,writeFileSync
),这只是针对什么 node.js 是为了。