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 相关文章推荐
checkbox 多选框 联动实现代码
Oct 22 Javascript
快速解决FusionCharts联动的中文乱码问题
Dec 04 Javascript
Javascript this 关键字 详解
Oct 22 Javascript
javascript实现微信分享
Dec 23 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
JS+CSS实现可拖动的弹出提示框
Feb 16 Javascript
JS运动框架之分享侧边栏动画实例
Mar 03 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
Jul 21 Javascript
Javascript获取图片原始宽度和高度的方法详解
Sep 20 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
手把手教你使用TypeScript开发Node.js应用
May 06 Javascript
Vue中图片Src使用变量的方法
Oct 30 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
js返回顶部实例分享
2016/12/21 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
python将unicode转为str的方法
2017/06/21 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python实现的自动发送消息功能详解
2019/08/15 Python
Python 元组操作总结
2019/09/18 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Python如何实现的二分查找算法
2020/05/27 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
Python如何发送与接收大型数组
2020/08/07 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
2014教师研修学习体会
2014/07/08 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
三方股份合作协议书
2014/10/13 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
python元组打包和解包过程详解
2021/08/02 Python