在做vue项目的时候,由于数据量查询比较大,所以前台调用接口数据的时候,往往要等很久,所以需要设置个超时,当超过设置时间就让向页面返回一个状态,让使用者不用一直等。
通过官网api查询,对其超时讲解不是很多,但其和Jquery中请求非常类似
Jquery请求方式
$.ajax({ url: '接口地址', type:'get', //请求方式get或post data:{}, //请求所传的参数 dataType: 'json', //返回的数据格式 timeout: 4000, //设置时间超时,单位毫秒 success: function(result) { console.log('OK') }, error: console.log('error') })
vue中请求方式:
axios.post( //请求方式 url, //接口地址 params, //传递参数 {timeout: 1000 * 60 * 2}) //设置超时,单位毫秒 .then(function(res){ console.log(res); }).catch((error) => { console.log('error') })
所以可以再请求中通过timeout设置请求超时
补充知识:vue中用axios请求接口,处理网络失败和网络超时问题,axios拦截器
前端经常要对服务器的错误信息做处理,小编是头一次做,就遇到了很多问题
首先,是封装的请求数据的方法
import Vue from 'vue'; import axios from 'axios'; import qs from 'qs'; import wx from 'weixin-js-sdk'; import { Toast } from 'mint-ui'; axios.defaults.timeout = 10000; // 拦截 axios.interceptors.request.use(function (config) { return config }, function (error) { return Promise.reject(error); }) axios.interceptors.response.use( response => { if (typeof(response) != 'String'&&response.data.errno !== 0 && response.config.url.indexOf('searchorderoyidornumber') < 0 && response.config.url.indexOf('upload') < 0) { response.data['data'] = response.data['data'] || {}; Toast(response.data.errmsg) } if (typeof(response) != 'String'&&response.data.errno == 3521) { localStorage.clear(); location.href = '#/login' } return response.status == 200 ""; if (document.cookie && document.cookie != '') { var cookies = decodeURIComponent(document.cookie).split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i].trim(); // if (cookie.substring(0, cookieName.length + 1).trim() == cookieName.trim() + "=") { // cookieValue = cookie.substring(cookieName.length + 1, cookie.length); // break; // } var cookie = cookies[i].trim(); var cookieArr = cookie.split('='); if(cookieArr[0] == cookieName.trim()){ cookieValue = cookieArr[1]; break; } } } return cookieValue; } let setCookie = function(name,value){ var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } Vue.prototype.$http = axios; Vue.prototype.$get = axios_get; Vue.prototype.$post = axios_post; Vue.prototype.$getCookie = getCookie; Vue.prototype.$setCookie = setCookie;
在组件中直接this.$post()这样用即可。
以上这篇在vue中axios设置timeout超时的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]