请求超时设置通过拦截器Vue.http.interceptors实现具体代码如下

main.js里在全局拦截器中添加请求超时的方法

方法1:超时之后会调用请求中的onTimeoutd方法,then方法不会执行

Vue.http.interceptors.push((request, next) => {
let timeout;
// 如果某个请求设置了_timeout,那么超过该时间,会终端该(abort)请求,并执行请求设置的钩子函数onTimeout方法,不会执行then方法。
if (request._timeout) {
timeout = setTimeout(() => {
if(request.onTimeout) {
request.onTimeout(request);
request.abort()
}
}, request._timeout);
}
next((response) => {
clearTimeout(timeout);
    return response;
})
})

页面中用到vue-resource请求的地方如下设置即可。

this.$http.get('url',{
params:{.......},
       ......
_timeout:,
onTimeout: (request) => {
alert("请求超时");
}
}).then((response)=>{

});

方法2:超时之后可以在then的第二个error方法中获取,私以为这个方法更好一些

main.js中设置如下

Vue.http.interceptors.push((request, next) => {
let timeout;
// 這裡改用 _timeout
if (request._timeout) {
timeout = setTimeout(() => {
        //自定义响应体 status:408,statustext:"请求超时",并返回给下下边的next
next(request.respondWith(request.body, {
status: ,
statusText: '请求超时'
})); }, request._timeout);
}
next((response) => {
    console.log(response.status)//如果超时输出408
    return response;
})
})

页面请求设置

this.$http.get(`repairs/${this.repairs_id}`,{
params:{with:'room;user'},
_timeout:,//设置超时时间
}).then((response)=>{
},(err)=>{
console.log(err.status);//如果超时,此处输出408
});
/**
* ,%%%%%%%%,
* ,%%/\%%%%/\%%
* ,%%%\c "" J/%%%
* %. %%%%/ o o \%%%
* `%%. %%%% _ |%%%
* `%% `%%%%(__Y__)%%'
* // ;%%%%`\-/%%%'
* (( / `%%%%%%%'
* \\ .' |
* \\ / \ | |
* \\/ ) | |
* \ /_ | |__
* (___________))))))) 攻城湿
*
* _ _
* __ _(_)_ _(_) __ _ _ __
* \ \ / / \ \ / / |/ _` |'_ \
* \ V /| |\ V /| | (_| | | | |
* \_/ |_| \_/ |_|\__,_|_| |_|
*/

参考文章  https://segmentfault.com/q/1010000005800495/a-1020000005802004

vue-resource请求超时timeout设置的更多相关文章

  1. Vue: axios 请求封装及设置默认域名前缀 (for Vue 2.0)

    1. 实现效果 以get方法向http://192.168.32.12:8080/users 发起请求.获取数据并进行处理 this.apiGet('/users', {}) .then((res) ...

  2. vue axios请求超时,设置重新请求的完美解决方法

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

  3. 模拟HTTP请求超时时间设置

    HTTP请求有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间(请求资源超时时间). 使用curl命令行 连接超时时间用 --connect-timeout 参数来指定 数据传输的最大 ...

  4. Httpclient超时timeout设置

    一:连接超时:connectionTimeout 1:指的是连接一个url的连接等待时间. 二:读取数据超时:soTimeout 1:指的是连接上一个url,获取response的返回等待时间. Fo ...

  5. vue axios 请求带token设置

    API axios.js import axios from "axios"; let AUTH_TOKEN=(function(){ return localStorage.ge ...

  6. axios请求拦截及请求超时重新请求设置

    自从使用Vue2之后,就使用官方推荐的axios的插件来调用API,在使用过程中,需要解决问题: 1. 请求带token校验 2. post请求请求体处理 3. 响应未登录跳转登录页处理 4. 响应错 ...

  7. ASP.NET Core如何设置请求超时时间

    如果一个请求在ASP.NET Core中运行太久,会导致请求超时,目前ASP.NET Core对请求超时的设置比较麻烦,本文列出目前收集到的一些方法,供大家参考. 部署ASP.NET Core到IIS ...

  8. Sipdroid实现SIP(六): SIP中的请求超时和重传

    目录 一. Sipdroid的请求超时和重传 二. SIP中超时和重传的定义 三. RFC中超时和重传的定义 一. Sipdroid的请求超时和重传 Sipdroid实现SIP协议栈系列, 之前的文章 ...

  9. 20180907_网络差_天安微信token请求超时

    一.异常现象 token请求时,显示请求超时. 二.原因分析 这个异常有如下几个原因: (1)服务器没有开通  qyapi.weixin.qq.com 的外网权限 (2)服务器网络太慢 三.异常解决 ...

随机推荐

  1. 浅谈WEB安全性(前端向)

    相信进来的时候你已经看到alert弹窗,显示的是你cookie信息(为配合博客园要求已删除).单纯地在你的客户端弹出信息只是类似于迫使你在自己的房间脱衣服——没人看得到,自然也不算啥恶意行为.那么如果 ...

  2. IDisposable的另类用法

    IDisposable是.Net中一个很重要的接口,一般用来释放非托管资源,我们知道在使用了IDisposable的对象之后一定要调用IDisposable.Dispose()方法,或者使用.Net提 ...

  3. .NET 基础 一步步 一幕幕 [前言]

    .NET 基础 一步步 一幕幕 [前言部分] 本人小白一枚,虽然说从去年就开通博客了,到现在也没有写多少东东,虽然工作了,也没有更好得总结.故此重新祭出博客园法宝,修炼技术,争取早日走上大神之位. 故 ...

  4. How to Use Android ADB Command Line Tool

    Android Debug Bridge (adb) is a tool that lets you manage the state of an emulator instance or Andro ...

  5. java基础-多线程执行

    package Thanqi; public class TestApple implements Runnable{ //苹果的数量 private int count = 5; //拿苹果 //s ...

  6. 前端:图文混排-怎么在不使用float的情况下实现想要的效果呢?

    异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 举个例子 重点:display:flex (参考:http://www.360do ...

  7. 08. Web大前端时代之:HTML5+CSS3入门系列 ~ QQ空间时间轴

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 大前端系列,主要就是使用CSS3.0来实现,注释我已经打 ...

  8. Windows下搭建MySQL Master Slave

    一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用keepalived这个HA工具,但是我们可以接受人工进行切 ...

  9. CSS系列:CSS的继承与层叠特性

    1. CSS的继承特性 所有的CSS语句都是基于各个标记直接的继承关系,CSS继承是指子标记会继承父标记的所有样式风格,并可以再父标记样式风格的基础上再加以修改,产生新的样式,而子标记的样式完全不会影 ...

  10. SQL Server中使用Check约束提升性能

        在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能.     在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划, ...