0
我試圖以異步方式執行多個Model.count()
貓鼬查詢。但是,我希望能夠停止並返回任何這些查詢返回錯誤的情況。這是我的代碼:異步Mongoose查詢
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