0
我正在應用程序上的NodeJs/Sails後端上工作。 我正在努力的功能是假設選擇所有遊戲(腳)在3天前結束3 &一個生成通知(實際)給遊戲的所有玩家,以通知他們的獎盃(最好&最壞的玩家遊戲)。無法在特定條件下獲得200響應
我剛剛添加了一個條件,以防止遊戲(腳)沒有任何獎盃時通知(實際)的生成。這是所有功能:
Foot.query("SELECT id FROM foot WHERE foot.date <'"+nowMinus3d+"' AND date >'"+nowMinus4d+"'", function(err, results){
_.each(results.rows, function(result, err){
Player.query("SELECT player.user, player.foot FROM player WHERE (player.statut = 2 OR player.statut = 3) AND player.foot ='"+result["id"]+"'", function(err, players){
async.each(players.rows, function(player, callback){
Trophe.findOne({foot: player["foot"]}).exec(function findOneCB(err, trophe){
if (err) {console.log(err);}
if (trophe){
console.log(trophe);
Actu.create({user:player["user"], related_user:player["user"], typ:'resultFoot', related_stuff: player["foot"]}).exec(function(err,actu){
if(err){
console.log(err);
}
else {
Connexion.findOne({user:player["user"]}).exec(function(err, connexion){
if (connexion){
sails.sockets.emit(connexion.socket_id,'notif',actu);
callback();
}
else {
callback();
}
});
}
});
}
else {
console.log("Personne n'a été élu sur ce foot")
}
});
},function(){
res.status(200).end();
})
})
})
})
所以1)我選擇結束日3和4之間前足 2)我選擇鏈接到THES足球比賽 3玩家)對他們每個人我的產生ACTU如果足球比賽有我的路(async.each
)的最後一個trophey 4),res.status(200).end();
如果我有一個trophey,一切都很好,我把我的200 RESP。但是,當沒有trophey,我得到我的console.log("personne n'a été élu sur ce foot")
印刷,但我從來沒有得到我的200響應。
即使現在有獎盃,我是不是應該獲得200的迴應res.status(200).end();
是async.each函數的回調?它不依賴於獎盃的存在。我究竟做錯了什麼 ?