连续拒绝两个请求(nodejs)

时间:2015-02-16 14:42:46

标签: node.js express request sails.js

如果第一个请求尚未完成,有时我们需要限制执行来自用户的重复请求。例如:我们确实希望在某些服务中注册用户,并且只有在那之后才将他放入具有外部id的数据库中。我想有一个服务,我可以设置受保护的路线。 我通过在request.start() - >处检查标志来解决了这个问题。并在请求完成后将其删除。无论如何,我正在寻找你的建议。

1 个答案:

答案 0 :(得分:0)

我认为您需要自己将其构建到路由处理程序中:

var inProgress = []
var handleRegisterRoute = function create(req, res, next) {

    var id = req.user.id

    var found = _.find(inProgress, function(item){
      return item = id
    })

    if(found){
        res.send('Dont think twice, its aright')
        return
    } else {
      inProgress.push(id)
      completeRegister()
      inProgress= _.without(inProgress, id);          
      req.send()
      return
    }
}

再次这是伪代码 - 我要写的内容的要点。您可能需要存储" inprogress"在整个服务器场可引用的更好的数据存储中 - 某种DB。