仕事用の node.js アプリの開発を開始しましたが、「非同期と考える」ことができません。私の関数では、クエリを実行する必要があり、行ごとに別のクエリを実行して最終結果を計算し、json を作成する必要があります。私はこれをしようとします:
async.series([
function(callback) {
db.myCannedResponseList(req.params.websiteid, function(err,questions) {
if (err) return callback(err);
...
callback();
});
},
function(callback) {
async.forEachSeries(temp,function(quest,callback) {
db.getCannedAnswer(quest.id, function(err,answers) {
console.log(answers);
});
}, function(err) {
if (err) return next(err);
});
callback();
}
],
function(err) {
if (err) return next(err);
res.json(output);
});
しかし、問題があります: getCannedAnswer の結果はres.json (output)の後に表示されます。どうすれば解決できますか?