router.get("/roll", function (req, res) {
//Re-enable the session.
//req.session.isrolling = 1;
if(typeof req.session.isrolling === "undefined") {
console.log(classname + "** setting the variable **");
req.session.isrolling = 1;
}
console.log(classname + "[0]" + req.session.isrolling);
if(req.session.isrolling == 1 || req.session.isrolling == 3) {
console.log(classname + "[1] " + req.session.isrolling);
req.session.isrolling = 0;
console.log(classname + "[2] " + req.session.isrolling);
正如你所看到的那样,很明显,我取消注释第三行重新启用,因为我坚持使用'调试'。
无论如何,输出通常都是;
我使用布尔值来尝试检查它出错的地方。 无论如何,在函数中的一些回调和函数之后,我在这部分结束 -
rollController.UpdateDeposit(true, winAmmount, req.session.userSecret, function(callbackresult) {
if(callbackresult) {
console.log(classname + "[3]" + req.session.isrolling);
req.session.isrolling = 3;
console.log(classname + "[4]" + req.session.isrolling);
}
尽管如此,以及预期的输出',我可以在滚动未决时继续发送垃圾邮件,而控制台甚至没有输出;
[index.js] [3]0
[index.js] [4]3
如果我尝试在index.js中创建一个局部变量(当然不是最佳方式),它会修复它,但是每个查询一次,而不是每个用户(哑是)。
我添加了未定义的东西,当我乱用mySQL并重置一些数据时,它就会发生。我想知道自己是否应该切换到mongoDB应有的性能,但这可能适用于以后。
所以主要的问题是,我在哪里出错,哪个更好的方法为每个用户建立一个队列(会话?),显然,不是每个服务器?
答案 0 :(得分:0)
我终于找到了解决方案。 这让我忙碌了一周,同时阅读了很多关于节点的知识。
req.session.save(function(error) { console.log(classname + " Error in saving session " + error) });
谢谢achmad。