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中使用Ajax获取JSON格式数据示例代码
Nov 26 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
Sep 03 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
Aug 15 Javascript
Web安全测试之XSS实例讲解
Aug 15 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
深入浅析Vue组件开发
Nov 25 Javascript
javascript 数组去重复(在线去重工具)
Dec 17 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
Mar 27 Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 Javascript
微信小程序实现加入购物车滑动轨迹
Nov 18 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
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
php异常处理方法实例汇总
2015/06/24 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
Javascript实现的分页函数
2006/12/22 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
js判断密码强度的方法
2020/03/18 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
PyQT实现多窗口切换
2018/04/20 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
没编程基础可以学python吗
2020/06/17 Python
如何让python的运行速度得到提升
2020/07/08 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
网络信息安全承诺书
2014/03/26 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
个人作风建设自查报告
2014/10/22 职场文书
整改通知书格式
2015/04/22 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers
Elasticsearch 聚合查询和排序
2022/04/19 Python