如何防止在使用hapi.js reply().hold()时重新加载脚本
How prevent script from reloading when using hapi.js reply().hold()?
我刚开始使用hapi.js,在尝试延迟路由的响应时遇到了问题。
我使用以下代码成功推迟了/query
路由的响应:
server.route([{
method: 'GET',
path: '/query',
config: {
handler: function(request, reply) {
var response = reply().hold();
db = request.server.plugins['hapi-mongodb'].db;
someFxn(callbackFxn, request, response);
}
}
}]);
var someFxn(cb, req, res){
var raw = {};
//... do lots of stuff that can take a long time
cb(req, res, raw);
}
var callbackFxn = function(request, response, data){
response.source = data;
response.send();
}
我遇到的问题是,有时someFxn()
需要很长时间才能执行,这可能会导致超时,然后再次发出请求。如何更改请求的超时值,使其不会再次激发请求?
我真的很感激任何人能给我的任何建议/线索。
您可能会达到默认的Node.js套接字超时2分钟。您可以使用路由配置选项config.timeout.socket
:覆盖它
来自文档:
timeout
-定义处理持续时间的超时:
socket
-默认情况下,节点套接字在2分钟后自动超时。使用此选项覆盖此行为。默认为undefined
,离开节点默认值不变。设置为false
可禁用套接字超时。
这样设置可以完全禁用路由的超时:
server.route([{
method: 'GET',
path: '/query',
config: {
timeout: {
socket: false
},
handler: function(request, reply) {
...
}
}
}]);
相关文章:
- Google Adsense多次加载脚本
- 如何准确执行加载脚本&退出弹出窗口
- RequireJ无法随机加载脚本
- 通过浏览器加载页面时触发加载脚本(js或jQuery)'s”;返回“;作用
- 在以前的文件夹中加载脚本
- 如何重新加载脚本标记
- 正在脚本中加载脚本
- 在pjax完成其工作时加载脚本
- I'我用setTimeout加载脚本,你能找到一个更快的方法吗
- 在页面模板上加载脚本
- 如何在我的情况下创建加载脚本
- 当用$.getScript()加载脚本时,有一种方法可以从用$.get script()装载的脚本中调用父脚本中的函数
- 数据表 AJAX 筛选器重新加载数据
- 延迟加载 脚本加载和/或执行
- 如何使用谷歌页面速度CSS加载脚本延迟多个CSS文件
- 最后加载脚本
- 如何基于HTML中的类加载脚本
- 在局部视图中加载脚本文件
- 获取新内容后重新加载脚本(无限滚动wordpress+fancybox)
- 如何打开子浏览器窗口,然后在新加载的子浏览器页面上执行脚本以单击其中的链接