Express.js を使用して node.js REST サーバーを作成しています。その一環として、単純なセッション システムも作成しています。私は3つのモジュールを持っています:
- app.js
- highscoreMan.js
- userSession.js
今のところ app.js url はhttp://localhost/api/highscores
、指定されたパラメーターで userSession を呼び出します。
//Get all highscores
app.get('/api/highscores', function (req, res) {
userSession.checkValidity(req.query['username'], req.query['sessionid'], highscoreMan.getAll(req, res));
});
ただし、checkValidity では、渡す関数が自動的に呼び出されます。
function checkValidity(username, sessionId, callback) {
userSession.findOne({ userid: username, sessionid: sessionId }, function (err, result) {
if (err) {
console.log(err);
}
if(result) {
callback;
}
});
}
データベースから適切な結果が得られた場合にのみ、渡された関数を実行したいだけです(セッションの日付などについては、後で他のチェックが追加されます)。どうすればいいですか?