データベースからデータを取得するためにNodejsでサーバーを構築しています。私はしばらく非同期ライブラリを使用してきましたが、並列関数内にウォーターフォールを配置するなどのいくつかのことを理解しました。
最初にクエリを実行し、そのクエリの結果を同時に実行できる他のクエリで使用する必要があるという問題に遭遇しました。コードは次のようになります。
async.waterfall([
function(callback) {
connection.query( query,
function(err, rows, fields) {
if (!err) {
callback(null,rows);
} else {
callback(null,"SORRY");
}
}
);
},
async.parallel([
function(resultFromWaterfall,callback) {
connection.query(query,
function(err, rows, fields) {
if (!err) {
callback(null,rows);
} else {
callback(null,"SORRY");
}
}
);
},
function(resultFromWaterfall,callback) {
connection.query(query,
function(err, rows, fields) {
if (!err) {
callback(null,rows);
} else {
callback(null,"SORRY");
}
}
);
}
])
], finalCallback
);
今私の問題は、ウォーターフォール関数からの結果にアクセスし、それを並列関数で使用することです。