【发布时间】:2014-02-06 10:53:48
【问题描述】:
我正在使用 node.js + express 编写服务。 计时器有问题。
我根本不存储任何状态,在我的路线中有 2 个函数。
route.js
var timeOutId;
exports.linkUpRequest = function() {
// do some request to another user => insert record in db
...
timeOutId = setTimeout(function() {
//delete request => delete record from db
}, 1000 * 60 * 60);
res.send(...);
};
exports.confirm = function() {
// record will be stored until user explicitly delete it => update that user confirm request
clearTimeout(timeOutId);
res.send(...);
};
我知道这是错误的解决方案,因为它是服务器并且许多用户可以访问timeOutId 变量。我的问题是如何处理 REST 服务中的计时器和超时 id。
注意:在 cmets 中,我从模型中调用方法,这也是无状态的。
【问题讨论】:
标签: javascript node.js rest express timer