我嘗試將它綁定到request.session或request.user,但具有相同的錯誤 - '未定義函數'。我如何使用創建的req.session.idle =新的SteamIdle('用戶','通')在/啓動路由器在/停止路由器,如果我直接通過url訪問它們(localhost:3000/start和localhost:3000/stop )?如何在少數路由器中使用創建的對象?
router.get('/start', checkAuth, function(req, res, next) {
res.setHeader("Content-Type", "application/json");
var data = {
statusCode: 1,
status: 'connected'
};
if (typeof req.session.idle == "undefined")
req.session.idle = new SteamIdle('user', 'pass'); // created instance
if (!req.session.idle.isLogin){
req.session.idle.connect();
// req.session.idle.disconnect(); this will work here, but not in /stop router
}
res.send(data);
});
router.get('/stop', checkAuth, function(req, res, next) {
res.setHeader("Content-Type", "application/json");
var data = {
status: 'done'
};
if (typeof req.session.idle != "undefined"){
req.session.idle.disconnect(); //undefined function, is there any way to make it work?
delete req.session.idle;
}
res.send(data);
});
SteamIdle
function SteamIdle(user, pass){
var self = this;
self.userName = user;
self.password = pass;
// Main func
self.disconnect = function() {
console.log('disconnect');
}
self.connect = function(auth){
console.log('start work for user ' + self.userName);
}
}
module.exports = SteamIdle;
它將如何從/開始/停止路線(我沒有在你的代碼中看到next(),路線也不會匹配)或者你期望在下一個請求中使用它嗎?在這種情況下,node創建新的req&res對象,所以你不能'使用這種方法綁定到req,你必須通過db –
我只是想這樣 - http:// localhost:3000/start,http://本地主機:3000 /停止。我可以在用戶請求中保存我的變量,但是我無法保存對象的實例? – SLI
sry misunderstood ur que –