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 相关文章推荐
提高 DHTML 页面性能
Dec 25 Javascript
js滚动条多种样式,推荐
Feb 05 Javascript
JQuery 学习笔记 选择器之二
Jul 23 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
Jan 12 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
基于jquery实现人物头像跟随鼠标转动
Aug 23 Javascript
js实现鼠标拖拽多选功能示例
Aug 01 Javascript
node内置调试方法总结
Feb 22 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
vue如何截取字符串
May 06 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
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
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python中的闭包总结
2014/09/18 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
python中的闭包函数
2018/02/09 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
酒店管理专业毕业生推荐信
2013/11/10 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
社区清明节活动总结
2014/07/04 职场文书
财务个人年度总结范文
2015/02/26 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
python执行js代码的方法
2021/05/13 Python
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android