node.js超时timeout详解


Posted in Javascript onNovember 26, 2014

如果在指定的时间内服务器没有做出响应(可能是网络间连接出现问题,也可能是因为服务器故障或网络防火墙阻止了客户端与服务器的连接),则响应超时,同时触发http.ServerResponse对象的timeout事件.

response.setTimeout(time,[callback]);

也可以不在setTimeout中指定回调函数,可以使用时间的监听的方式来指定回调函数.

如果没有指定超时的回调函数,那么出现超时了,将会自动关闭与http客户端连接的socket端口.如果指定了超时的回调函数,那么超时了,将会出现调用回调函数,而不会自动关闭与http客户端连接的socket端口.

var http=require("http");

var server=http.createServer(function(req,res){

    if(req.url!=="/favicon.ico"){

        //超时监听

        /*res.setTimeout(1000);

        res.on("timeout",function(){

            console.log("响应超时.");

        });*/

        //超时直接回调

        res.setTimeout(1000,function(){

           console.log("响应超时.");

        });

        setTimeout(function(){

            res.setHeader("Content-Type","text/html");

            res.write("<html><head><meta charset='utf-8' /></head>");

            res.write("你好");

            res.end();

        },2000);

    }

});

server.listen(1337,"localhost",function(){

    console.log("开始监听"+server.address().port+"......");

});

运行代码结果:

node.js超时timeout详解

删除超时的回调函数后:

node.js超时timeout详解

Javascript 相关文章推荐
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
parentElement,srcElement的使用小结
Jan 13 Javascript
javascript在IE下trim函数无法使用的解决方法
Sep 12 Javascript
完美实现bootstrap分页查询
Dec 09 Javascript
js 事件的传播机制(实例讲解)
Jul 20 Javascript
详解Angular4 路由设置相关
Aug 26 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
vue侧边栏动态生成下级菜单的方法
Sep 07 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 Javascript
JavaScript原始值与包装对象的详细介绍
May 11 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 #Javascript
使用node.js 获取客户端信息代码分享
Nov 26 #Javascript
node+express+jade制作简单网站指南
Nov 26 #Javascript
JS简单操作select和dropdownlist实例
Nov 26 #Javascript
node+express+ejs制作简单页面上手指南
Nov 26 #Javascript
node.js使用require()函数加载模块
Nov 26 #Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
Nov 26 #Javascript
You might like
php过滤危险html代码
2008/08/18 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
详解JavaScript的变量
2019/04/04 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python3 加密(hashlib和hmac)模块的实现
2017/11/23 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
python字典改变value值方法总结
2019/06/21 Python
简单了解django文件下载方式
2020/02/10 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Python 在函数上添加包装器
2020/07/28 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
老总助理工作岗位职责
2014/02/06 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
国庆宣传标语
2014/06/30 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
辞职书格式样本
2015/02/26 职场文书
2015年党小组工作总结
2015/05/26 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
Tomcat弱口令复现及利用
2022/05/06 Servers