0
私は非同期的に複数のModel.count()
質問を実行しようとしています。しかし、これらのクエリのいずれかがエラーを返す場合は、停止して戻りたいと思っています。これは私のコードです:質問が非同期に
var User = require('../models/user').model;
module.exports = {
getStatistics: function(req, res) {
var response = {};
User.count({}, function(err, count) {
if(err || !count) res.status(500).json({error: 'unknown error'});
response.total_count = count;
});
User.count({platform: 'iOS'}, function(err, ios) {
if(err || !ios) res.status(500).json({error: 'unknown error'});
response.ios_count = ios;
});
User.count({platform: 'Android'}, function(err, android) {
if(err || !android) res.status(500).json({error: 'unknown error'});
response.android_count = android;
});
res.return(200).json(response);
}
}
しかし、Error: Can't set headers after they are sent
エラーが発生します。それを行う方法はありますか、それともそれらを同期して実行する必要がありますか?各コールバックfunction(err, data)
内部
しかし、これはそれらを同期させます。非同期にする方法はありませんか? – SalmaFG
@SalmaFGこれは100%非同期です。私はコンセプトを混合していると思います(シーケンシャル!=同期) – zurfyx
@SalmaFGあなたの問題解決に役立つ有益な情報を追加しました – zurfyx