首页 文章

快速并发Http请求

提问于
浏览
0

用户可以触发多个并发HTTP请求来表达服务器 . 在服务器端,我想阻止除第一个请求(对于该特定用户)之外的所有并发请求,然后执行一些操作并逐个取消阻止其他请求 .

用户的请求不应被其他用户的请求阻止 .

如何在nodejs中实现这一点?可以通过授权标头识别(唯一)用户的请求 .

谢谢

1 回答

  • -1

    有很多方法可以实现这一点,但我能想到的最简单的方法是:

    var blocked = {};
    app.get('/bla', function(req, res){
    
        var id = getIdFromRequest(req);
    
        if (blocked[id]) // if true then another request is being served
            return res.send('Concurrent requests not allowed');
    
        blocked[id] = true;
    
        // do your thing here
    
        // and respond
        res.send('some data');
    
        // unlock the user
        delete blocked[id];
    });
    

相关问题