簡體   English   中英

在node.js中同步進行循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM