用户可以触发多个并发HTTP请求来表示服务器。在服务器端,我要阻止除第一个请求(针对该特定用户)以外的所有并发请求,然后执行一些操作并逐个解除阻止其他请求。
用户的请求不应被其他用户的请求阻止。
如何在nodejs中实现呢?可以通过授权标头识别用户的请求(唯一)。
谢谢
答案 0 :(得分:-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];
});