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 相关文章推荐
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
深入理解javascript中的立即执行函数(function(){…})()
Jun 12 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
jQuery将多条数据插入模态框的示例代码
Sep 25 Javascript
js实现ifram取父窗口URL地址的方法
Feb 09 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
又一款js时钟!transform实现时钟效果
Aug 15 Javascript
微信小程序实战之上拉(分页加载)效果(2)
Apr 17 Javascript
详解Chart.js轻量级图表库的使用经验
May 22 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
微信小程序实现日期格式化和倒计时
Nov 01 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 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
咖啡与牛奶
2021/03/03 冲泡冲煮
php简单的留言板与回复功能具体实现
2014/02/19 PHP
深入分析PHP引用(&amp;)
2014/09/04 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
js数组去重的方法总结
2019/01/18 Javascript
js仿360开机效果
2019/12/26 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python中类的初始化特殊方法
2017/12/01 Python
python八皇后问题的解决方法
2018/09/27 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python 字典访问的三种方法小结
2019/12/05 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
Java面试题及答案
2012/09/08 面试题
会计实习生自我鉴定
2013/12/12 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
爱护公共设施标语
2014/06/24 职场文书
联谊活动总结
2014/08/28 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
建党伟业观后感
2015/06/01 职场文书
教师读书笔记
2015/06/29 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android