默认没有。

那么,req.setTimeout(msec, callback)是干什么用的。

它的意思是 socket msec 没有活动后执行callback,不帮你关闭连接。

就像一个秒表,每收到数据就从头开始计时,打比方:“好久没有收到你的信了”

提示:客户端是没有自带的超时的(需要自己实现),服务端有,下面总结一下node中http模块的超时。

http的四种超时(它们都是服务端的)
1. 默认2分钟
2. server.timeout = 120000;
3. res.on('timeout', callback)
4. req.setTimeout(msecs, callback)

它们的区别如下

在采用http默认的timeout(2分钟)的情况下,如果这次请求hang
up,也就是没有res.end(),那么服务器会触发req.aborted req.close
res.close事件,关闭连接。

但是,如果注册了res.on('timeout', callback) 的时候,2分钟后,http执行timeout的回调函数,其它什么都不做。

如果注册了req.setTimeout(msecs,
callback),则msecs超时后http执行回调函数,其它的什么都不做。

如果同时注册了res.on('timeout', callback)和req.setTimeout(msecs, callback),则分别执行这两个回调函数,其他什么都不做。

如果只是设定了较小的server.timeout变量,则超时行为和默认一样,还是会触发res.aborted
req.close res.close,关闭连接 -- 只是超时的时间缩短了。

注:node版本v0.12.0

nodejs - http.request是否有超时的更多相关文章

  1. Nodejs中request出现ESOCKETTIMEDOUT解决方案

    做需求的时候,使用Nodejs的request批量请求某一个接口,由于接口超时,出现 ESOCKETTIMEDOUT,程序中断 为了让程序遇到 ESOCKETTIMEDOUT 之后能够继续执行下去,需 ...

  2. 利用Nodejs & Cheerio & Request抓取Lofter美女图片

    还是参考了这篇文章: http://cnodejs.org/topic/54bdaac4514ea9146862abee 另外有上面文章 nodejs抓取网易公开课的一些经验. 代码如下,注意其中用到 ...

  3. nodejs的request创建的get和post请求,带参数

    1.导入request : var request = require('request'); 2.get请求 request({ timeout:5000, // 设置超时 method:'GET' ...

  4. [转]nodejs使用request发送http请求

    本文转自:https://blog.csdn.net/dreamer2020/article/details/52074516/ 在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候, ...

  5. nodejs使用request和bluebird编写的http请求模块

    var request = require("request"); var promise = require("bluebird"); //使用bluebir ...

  6. 记一次 XxlRpcException:xxl-rpc request timeout at 超时问题

    事件起因 昨天有同事找我到,说他搭建的 XXL-JOB 任务调度系统不能工作了,调用总是出错(服务端返回 500)希望我能帮忙处理一下,不过说实话我也没有搭建过 XXL-JOB 的经验,但是既然同事请 ...

  7. NodeJS POST Request Over JSON-RPC

    1.npm install art-template2.npm  install request3.在app.js中加入以下代码转html: var template = require('art-t ...

  8. nodejs get/request

    灌水评论示例: var http = require('http'); var querystring = require('querystring'); var postData = queryst ...

  9. NodeJS: 处理request网页乱码问题

    对于gb2312编码的网页,直接用request去获取会得到乱码的结果,解决方法很简单: 1. npm install iconv-lite 2. var iconv = require('iconv ...

随机推荐

  1. 手把手带你入门ECharts

    1.什么是ECharts ECharts,缩写来自Enterprise Charts,商业级数据图表,是来自百度商业前端数据可视化团队EFE的一个开源的纯Javascript的图表库,可以流畅的运行在 ...

  2. 如何设计一个良好的API接口?

    沟通创造价值,分享带来快乐.这里是程序员阅读时间,每天和你分享读书心得,欢迎您每天和我一起精进.今天和大家一起讨论的话题是如何设计一个良好的API接口? 作者:梁桂钊 解读:张飞洪 挑战 API是软件 ...

  3. MyBatis插件 - 通用mapper

    1.简单认识通用mapper 1.1.了解mapper 作用:就是为了帮助我们自动的生成sql语句 [ ps:MyBatis需要编写xxxMapper.xml,而逆向工程是根据entity实体类来进行 ...

  4. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

  5. Jenkins 自动化部署详解

    一.背景 以前在发布系统的时候,总是需要经过本地合并代码 >编译 >发布到本地 >拷贝代码到远程服务器 >停止掉服务器上的应用池 >将要发布的文件替换原文件 >重启 ...

  6. ChCore Lab3 用户进程和异常处理 实验笔记

    本文为上海交大 ipads 研究所陈海波老师等人所著的<现代操作系统:原理与实现>的课程实验(LAB)的学习笔记的第三篇:用户进程与异常处理.所有章节的笔记可在此处查看:chcore | ...

  7. Linux网卡绑定bond0-实验

    虚拟机添加网卡 ip addr 查看新增的网卡是否读取 添加bonding接口 [root@centos8~]$nmcli con add type bond con-name mybond0 ifn ...

  8. 详解Kubernetes存储体系

    Volume.PV.PVC.StorageClass由来 先思考一个问题,为什么会引入Volume这样一个概念? " 答案很简单,为了实现数据持久化,数据的生命周期不随着容器的消亡而消亡. ...

  9. DingtalkChatbot简单使用

    DingtalkChatbot 前言:该项目配合钉钉机器人 ,手机用户可以通过面对面建群创建单人群聊然后在电脑端 ···->智能群助手->添加机器人->自定义-> 然后添加机器 ...

  10. unity---角色控制器控制角色移动

    获取对象 public CharacterController cc; cc=gameObject.GetComponent<CharacterController>(); if(Inpu ...