Nodejs中request出现ESOCKETTIMEDOUT解决方案

做需求的时候,使用Nodejs的request批量请求某一个接口,由于接口超时,出现 ESOCKETTIMEDOUT,程序中断

为了让程序遇到 ESOCKETTIMEDOUT 之后能够继续执行下去,需要对 request 部分加上 try...catch,再catch中记录这条失败请求的信息,后面不断重试

try{

    //这里是你request请求的代码

}catch(e){
    //这里需要用一些措施记录下失败的数据
    //1.将错误请求输出到某一个日志文件中
    //2.将错误请求保存到某个数组中,下面通过循环不断重试直至成功
    console.log(e);
}

说明:

1、加上 try...catch 之后,程序就不会因为某一条 request 报错而中断

2、在 catch 中将有问题的请求记录下来,方便后面重试

原文地址:https://www.cnblogs.com/lyc94620/p/11783150.html

时间: 2024-11-02 13:43:11

Nodejs中request出现ESOCKETTIMEDOUT解决方案的相关文章

koa-bodyParse 接受post 大表单报错:nodejs Error request entity too large

Node.js从2009横空出世之后,至今已经7年有余,各种web框架也林林总总,目前大约在npm上有35万左右包,刨去前端和一些无意义的封装,也是有非常可观的优秀的模块的.其中web框架也是特别抢眼的,从早期的express到现在koa,对异步流程控制的改进前仆后继.随着移动端崛起面向api的框架hapi和restify也如火如荼,更有一些面向特性的框架,比如thinkjs对es6/es7/typescript支持,整体来说,质量都是非常不错的,算百花齐放,还是那句话,即使不优化,你也能用这些

Node.js(十二)——NodeJs中的Promise

爬虫基于回调和事件的方式去实现,回调也是被诟病已久的问题尤其是callback这种,无论是阅读还是调试都很费劲,甚至我们连代码的堆栈都看不到,这是一种反人类的写法,Promise来拜托这种痛苦的方式 传统方式实现动画效果: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Promise animation</title> <style&g

笔记-Nodejs中的核心API之Events

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的一些模块暂时只会在学习的时候接触到,不常用便就荒废了.正所谓好记心不如烂笔头,多做笔记还是更有利于理解和记忆.自己做的总结也方便回头复习,所以决定踏上漫长的修炼之旅-- Node提供了许多API,其中一些比较重要.这些核心的API是所有Node应用的支柱,你会不停的用到他们. Events 几乎所有

Unable to create request (bad url?) 解决方案

今天写一个测试demo,遇到如下问题: Error Domain=ASIHTTPRequestErrorDomain Code=5 "Unable to create request (bad url?)" UserInfo=0x69ba0f0 {NSLocalizedDescription=Unable to create request (bad url?)} 功能是为了测试分包下载,大概流程:请求URL,服务器返回一套URLList,自己分别去请求每个url最后把得到得数据进行拼

在Nodejs中贯彻单元测试

在团队合作中,你写好了一个函数,供队友使用,跑去跟你的队友说,你传个A值进去,他就会返回B结果了.过了一会,你队友跑过来说,我传个A值却返回C结果,怎么回事?你丫的有没有测试过啊? 大家一起写个项目,难免会有我要写的函数里面依赖别人的函数,但是这个函数到底值不值得信赖?单元测试是衡量代码质量的一重要标准,纵观Github的受欢迎项目,都是有test文件夹,并且buliding-pass的.如果你也为社区贡献过module,想更多人使用的话,加上单元测试吧,让你的module值得别人信赖. 要在N

nodeJS中的包

前面的话 Node组织了自身的核心模块,也使得第三方文件模块可以有序地编写和使用.但是在第三方模块中,模块与模块之间仍然是散列在各地的,相互之间不能直接引用.而在模块之外,包和NPM则是将模块联系起来的一种机制.在介绍NPM之前,不得不提起CommonJS的包规范.JavaScript不似Java或者其他语言那样,具有模块和包结构.Node对模块规范的实现,一定程度上解决了变量依赖.依赖关系等代码组织性问题.包的出现,则是在模块的基础上进一步组织JavaScript代码.CommonJS的包规范

nodeJS中的包 npm install http://www.cnblogs.com/xiaohuochai/archive/2017/05/20/6882027.html

前面的话 Node组织了自身的核心模块,也使得第三方文件模块可以有序地编写和使用.但是在第三方模块中,模块与模块之间仍然是散列在各地的,相互之间不能直接引用.而在模块之外,包和NPM则是将模块联系起来的一种机制.在介绍NPM之前,不得不提起CommonJS的包规范.JavaScript不似Java或者其他语言那样,具有模块和包结构.Node对模块规范的实现,一定程度上解决了变量依赖.依赖关系等代码组织性问题.包的出现,则是在模块的基础上进一步组织JavaScript代码.CommonJS的包规范

ASP.NET检测到有潜在危险的 Request.Form 值解决方案

ASP.NET检测到有潜在危险的 Request.Form 值解决方案 ????当我们在网站中使用CKEditor等富文本编辑器时,大多都会遇到这样的到警告 这是因为ASP.NET默认开启对页面提交内容的验证(不仅是ASP.NET MVC,WebForms也默认启用对页面提交的内容进行验证),解决这个问题的关键就在于在有富文本编辑器的页面或者会有提交html代码的页面关闭验证,可大致分为以下三种情况: 基于Framework2.0 webForm的网站 这种情况相比之下算是最好解决的,直接在需要

Nodejs中分析web前端性能(window.performance)

在nodejs中,通过puppeteer来获取web页面中的window.performance对象,从而分析页面的性能.下面直接上代码. const puppeteer = require('puppeteer'); const path = require("path"); const logger=require("./log"); const log = logger.getPuppeteerRecordLogger() ; /* 启动浏览器 */ asyn