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 相关文章推荐
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
javascript如何使用bind指定接收者
May 04 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
详解JavaScript中setSeconds()方法的使用
Jun 11 Javascript
深入浅析JavaScript中的constructor
Apr 19 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
Jan 04 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
vue-cli 目录结构详细讲解总结
Jan 15 Javascript
JS实现的贪吃蛇游戏案例详解
May 01 Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 Javascript
如何通过简单的代码描述Angular父组件、子组件传值
Apr 07 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php中Smarty模板初体验
2011/08/08 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
PHP文件操作详解
2016/12/30 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
js实现select下拉框选择
2020/01/11 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
Python中的exec、eval使用实例
2014/09/23 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
python如何保存文本文件
2020/06/07 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
酒店总经理欢迎词
2014/01/08 职场文书
大学生实习感言
2014/01/16 职场文书
四年级数学教学反思
2014/02/02 职场文书
《童年》教学反思
2014/02/18 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
升职感谢信
2015/01/22 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
python实现自动化群控的步骤
2021/04/11 Python
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS