我的JavaScript生成了一个检索JSON数组的ajax调用。
我正在尝试模拟长时间运行的HTTP REST调用请求,该请求需要更长时间才能返回结果。
我这样做是延迟向服务器端的响应对象写入任何内容,直到请求到达后5分钟。之后,我将状态设置为200,并使用结束流的JSON编写响应。
在服务端设置断点我意识到请求第二次显示,但浏览器的网络选项卡不显示另一个请求。
它可能没有用,但我使用browsersync
中间件来提供此JSON并写入字节并在setTimeout()
中结束响应。
setTimeout(()=> {
res.statusCode = 200;
res.write(data);
res.end();
});
问题:
任何人都有任何解释为何会发生这种情况?如果有办法以另一种方式模拟这个?
答案 0 :(得分:1)
在大多数情况下,如果在响应之前关闭连接,浏览器应该重试。这是详细信息的链接=> HTTP spec Client Behavior if Server Prematurely Closes Connection
BTW它可能会帮助你在开发工具的网络部分使用chrome限制选项(F12)