Nodejs + expressjs在服务器超时后重播请求

我试图通过app.get(“/ importdata”,callback)在节点+快速应用中导入大量的数据。 在超时时间,如果请求没有完成,它再次重播请求,我的服务器再次开始导入相同的数据。

我无法find请求在连接超时后重播的确切原因?

问题的一部分解决了,如果我设置我的timeOut期间一些巨大的数字,但我不明白为什么请求再次播放?

非常感谢。

从我的server.js一块

app.get('/impdata', function(req, res){ req.connection.setTimeout(600000); console.log("impstore--------------->"); Q.when( getData(req.data), function(resp){ res.json(resp); }); }); 

从我的控制台中的一块

impstore —————> userid时间戳Wed Oct 24 2012 16:35:28 GMT + 0530(IST)列表得到100个用户标识1个时间戳recursion列表获得200个用户标识ims 1时间戳recursion列表得到300个用户标识符1个时间戳recursion列表得到400个用户标识符1个时间戳recursion列表获得500个用户标识符1个时间戳recursion列表获得600个用户标识符1个时间戳recursion列表获得700个用户标识符1个时间戳recursion列表获取800个用户标识ims 1个时间标记recursion列表获得900个用户标识ims 1个时间标记recursionimpstore —————> userid时间戳Wed Oct 24 2012 16:37:28 GMT + 0530(IST )列表有1000个用户标识ims 1个时间标记recursion列表有100个用户标识ims 1

对于信息:我得到的数据块大小为100我收到900数据列表,然后服务器超时,但正如我们可以在控制台上看到的请求再次检查最后2套,第一个显示下一个100列performance在增加到1000,第二个说上市是100,当整个过程完成,我有2个类似的对象。

希望我解释得很好。

       

网上收集的解决方案 "Nodejs + expressjs在服务器超时后重播请求"

我有同样的问题。 我在堆栈溢出中看到了另一个答案,它解释了根据HTTP协议规范,http客户端可以在超时后重新发送请求。 对于快递,默认服务器超时为2分钟( https://nodejs.org/api/all.html#http_server_settimeout_msecs_callback )。

如果您从浏览器访问该端点,则可能是您的情况。

而且我明白这个怪事,看起来像是一个幽灵正在向你重新发送同样的请求。 其他人一遍又一遍地问你是否重新发送请求。

我会更新这个答案,如果我find更好的解释这个鬼行为的答案。