常规封装 fetch

// 封装fetch
let POST = function(url, params) {const URLS = baseURL + url;return fetch(URLS, {method: "POST",// body: params,body: params,headers: {Accept: "application/json","Content-Type": "application/x-www-form-urlencoded",// "Content-Type": "application/json",// token: JSON.parse(sessionStorage.getItem("token"))},mode: "cors", // 以CORS的形式跨域cache: "force-cache"}).then(data => {return data.json();}).then(ret => {if (ret.code != 0) {return { code: ret.code, msg: ret.message };} else {return ret;}});
};

单独设置超时

 // 请求超时
function advertisement(data) {return Promise.race([// 常规封装 fetchfetch.POST('URL', data),new Promise((resovle,reject) => {setTimeout(() => {reject(new Error('请求超时'));},30000)})]).then(res => {return res.data; // 请求成功}).catch(err => {console.log(err) // 请求超时})
}

封装设置超时

let POST = function(url, params) {const URLS = baseURL + url;return Promise.race([fetch(URLS, {method: "POST",// body: params,body: params,headers: {Accept: "application/json","Content-Type": "application/x-www-form-urlencoded",// "Content-Type": "application/json",// token: JSON.parse(sessionStorage.getItem("token"))},mode: "cors", // 以CORS的形式跨域cache: "force-cache"})new Promise((resovle,reject) => {setTimeout(() => {reject(new Error('请求超时'));},10000)})]).then(res => {  // 请求成功if (ret.code != 0) {return { code: ret.code, msg: ret.message };} else {return ret;}}).catch(err => { // 请求超时console.log(err)})
};

fetch设置请求超时相关推荐

  1. 微信小程序设置请求超时wx.request等,简单易懂!

    微信小程序设置请求超时wx.request等 一.用到的方法: 个人理解,比较粗糙 看不懂可以百度一下具体用法 new Promise:new了一个函数或者方法,可以被Promise.race等方法调 ...

  2. Android okhttp3使用实例,OKhttp设置请求超时时间,okgo使用demo

    1.导入OKhttp依赖 compile 'com.squareup.okhttp3:okhttp:3.4.1' 2.创建请求工具类 三个工具类 /*** 作者:created by meixi* 邮 ...

  3. HttpClient设置请求超时

    前言 最近,我无疑间看到同事提交到git上的httpclient调用第三方服务设置超时代码,发现有趣的一件事.项目中引用的httpclient版本是4.4.5版本,结果同事为了设置超时,在项目的pom ...

  4. springboot设置请求超时

    首先超时不只一种,是接口超时,还是restTemplate超时. 接口超时: 别人访问该项目 restTemplate(或httpClient)超时: 该项目请求其他地址 restTemplate超时 ...

  5. jquery $.get和$.post设置请求超时error处理

    .get和.get和.get和.post设置 //设置全局超时 $.ajaxSettings.timeout='3000'; $.post(url,{"sessionId":ses ...

  6. Linux下CURL设置请求超时时间

    使用CURL时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间. 连接超时时间用--connect-timeout参数来指定,数据传输的最大允许时间用-m参数来指定. 例如: cu ...

  7. http 请求 超时时间设置

    HttpParams params = new BasicHttpParams(); //设置连接超时时间 Integer CONNECTION_TIMEOUT = 2 * 1000; //设置请求超 ...

  8. ASP.NET Core MVC请求超时设置解决方案

    设置请求超时解决方案 当进行数据导入时,若导入数据比较大时此时在ASP.NET Core MVC会出现502 bad gateway请求超时情况(目前对于版本1.1有效,2.0未知),此时我们需要在项 ...

  9. axios请求失败重新发起请求_vue axios请求超时,设置重新请求的完美解决方法

    //在main.js设置全局的请求次数,请求的间隙 axios.defaults.retry = 4; axios.defaults.retryDelay = 1000; axios.intercep ...

最新文章

  1. DFT实际应用-User-Defined Test Points Example
  2. JavaScript之自定义对象
  3. OpenGL 笔记1 固定管线实例 + 双缓存测试实例
  4. 小女也爱c#(3)--俄罗斯方块练习数组
  5. python sqlite并发处理_python sqlite大数据 处理
  6. Linux创建文件【命令】
  7. 计算机在幼儿园美术区域的应用,幼儿园美术区域活动运用的研究的论文
  8. linux memcpy 效率,memcpy每秒字节速率
  9. 基于spring-boot的社区社交微信小程序,适合做脚手架、二次开发
  10. java的二叉树及三种遍历
  11. 图解 Java IO : 一、File源码
  12. php websocket ipv6,原生socket支持ipv6
  13. 4款Windows必装的软件,免费又实用,让你的电脑无所不能
  14. Dhtmlx Gantt如何LightBox自定义表单元素
  15. codeforces 894A QAQ
  16. 利用空间分析进行学校选址
  17. android2.3原生态铃声,Android中的铃声设置
  18. matlab motor,MATLAB在电机仿真中的应用 Application of MATLAB in motor simulation.pdf
  19. python爬取微信好友_如何用 Python 爬取自己的微信朋友
  20. elasticsearch: 查询过滤某个字段值的长度

热门文章

  1. obs---关于Windows 系统下 OBS 黑屏问题的处理方法
  2. 第三章 软件构造过程与配置管理
  3. 苹果音量测试软件,抖音量身高的软件是什么?苹果测距仪怎么使用
  4. h5页面后退苹果手机出现白屏
  5. Vcenter6.7补丁升级到最新版本
  6. html 网页图片保存
  7. Java项目:JSP在线奶茶店销售网站平台
  8. Java统计水仙花数
  9. 「津津乐道播客」#192. 乱炖:录音笔使用指南
  10. 北京内推 | 百度搜索策略部招聘NLP方向算法实习生(校招同步招收)