0
のために私はいくつかのデータを取得するためforloopでnodejs-非同期:リターンMySQLのクエリ結果ループ
デシベル2.Another mysqlのクエリから1 1.Fetch
別の後にいくつかの行を行うための3つの事業を展開しているし、変数
3.Displayにおける店舗データそのために
私はasync
waterfall
メソッドを使用しています。
async.waterfall([
function(callback){
//first sql and pass the result to second function
collection.getAllCollections(function (status,error,result) {
callback(null,result);
});
},
//running another query in loop with result with previous
function(result, callback){
for(var i=0;i<result.length;i++){
collection.getImages(result[i].id,function (status,error,user) {
//append the query result to old result
result[i]['users'] = user;
});
}
callback(null,result);
}
], function (err, result) {
console.log("result",result);
});
しかし、2番目のクエリ(forループ内のクエリが非同期である)
しかし 'isDone'機能を置くことができます?私は非同期ウォーターフォールメソッドを使用しています – Jabaa
@Jabaa私のソリューションを明確にするために私のコードを更新しました。これはうまくいくはずですが、私はそれをテストしませんでした。 – jpschack
@Jabaa私は再び私の答えを更新しました。 async.parallelが利用可能な、より良い、よりクリーンで効率的なソリューションがあります。それは正しい方向にあなたを得るはずです。 – jpschack