[英]synchronous for in loop in node.js
我正在使用快速框架在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){
//
}
}
}
});
}
}
就您使用connection.query
,不可能同步接收結果,因為該函數是異步的,您無法避免強制將其強制為同步。 而且,在可能的地方要依靠異步,因為這樣做的風險是否則會阻塞操作(例如, writeFileSync
),這完全違反了node.js的用途。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.