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 相关文章推荐
JS的IE和Firefox兼容性集锦
Dec 11 Javascript
JS简单的轮播的图片滚动实例
Jun 17 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
深入理解vue.js中的v-if和v-show
Jun 22 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
vue 中 beforeRouteEnter 死循环的问题
Apr 23 Javascript
更优雅的微信小程序骨架屏实现详解
Aug 07 Javascript
微信小程序request请求封装,验签代码实例
Dec 04 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
Jul 07 Javascript
让Vue响应Map或Set的变化操作
Nov 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
第九节 绑定 [9]
2006/10/09 PHP
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
js 实现watch监听数据变化的代码
2019/10/13 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
Python help()函数用法详解
2014/03/11 Python
Python抓取百度查询结果的方法
2015/07/08 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
求职简历中个人的自我评价
2013/12/01 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
幼儿园中秋节活动方案
2014/02/06 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
2014年村官工作总结
2014/11/24 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python