express怎么设置请求超时时间?
你们有没有遇到过用ajax发送请求时,如果是一个耗时任务,那么通常在好几分钟内都不会返回。
这时候ajax会重复发送请求,于是在请求完成的时候就会造成返回多次,造成node报“头部已经设置过”的错误。
尝试过给ajax设置timeout以及在app.js里给server设置超时,但是都不管用。。。
var server = app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
server.timeout = 1200000; //1200s,请求超时时间设置为20min
不知道有没有同学遇到过这种问题,请不吝赐教,多谢了。
9 回复
算了,不折腾了,学习了下socket.io感觉不错应该能解决问题,多谢 @klesh 不过改动太大,暂时不这么做了,还是采取了折中的方法:响应提前返回,在接收到请求后就发回空响应了,然后客户端再设置定时器查询认为状态改变前端页面的显示