私はビュー/コントローラごとに複数のクエリを作成する必要があるアプリケーションを作成しようとしています。Node.jsの複数の従属SQLクエリ
入れ子構造を使用して非同期的に処理しようとしていますが、sql結果が内部クロージャで定義されていません。
これは、これを行うために使用してイム機能です:
var conn = db.config(mysql);
function run_queries(conn,callback) {
conn.query(sql1, var1, function(err, res1) {
if(err){ callback(err); return; }
console.log(res1); // RETURNS SUCCESSFULLY!
conn.query(sql2, var2, function(err, res2) {
if(err){ callback(err); return; }
console.log(res2); // UNDEFINED :(
callback(null, res2);
});
});
}
run_queries(conn,function(err, result){
console.log(result); // UNDEFINED :(
});
私は私のSQLをチェックして、それがエラーなしです。 sq1をsq2と交換すると、外側のクロージャはsq2の正しいクエリを返します。
内部クロージャはクエリを返すだけではありません。
を使用してコードの
例は、なぜ非同期モジュールを使用していませんでしたか? –
ノードに新規で、この場合に適用する方法がわからない – yevg
http://caolan.github.io/async/非同期を理解することは非常に重要です。私はasync.parallelを使用して、あなたのために例を挙げます。 –