我有一個包含許多入口點的節點應用程序。所有入口點都需要根據請求參數提取遊戲服務器。如果服務器不存在,我想向用戶顯示錯誤消息,並結束請求。提前結束http請求
function getGameServer(gametype, httpResponse) {
if (gameServers[gametype])
return gameServers[gametype];
else
httpResponse.end("Unknown game type '"+gametype+"'");
}
....
app.get('/:gametype/beginner', function(req,res) {
var gameServer = getGameServer(req.params.gametype, res);
console.log(gameServer.beginner_properties);
...
});
app.get('/:gametype/advanced', function(req,res) {
var gameServer = getGameServer(req.params.gametype, res);
console.log(gameServer.advanced_properties);
...
});
問題是,如果函數getGameServer沒有找到一個遊戲服務器,它不會停止「結束」的聲明,但回報率(空值)之後,所以我得到一個節點異常在「gameServer.beginner_properties」或「gameServer.advanced_properties」中。
當然,我可以檢查每個「.get」函數的返回值,但是,有很多這樣的函數,檢查每個函數的值是很繁瑣的。
有沒有辦法從getGameServer函數中結束請求?
短,作品像一個魅力,謝謝! –