Vue項(xiàng)目請(qǐng)求超時(shí)處理方式
Vue項(xiàng)目請(qǐng)求超時(shí)
現(xiàn)在網(wǎng)頁(yè)項(xiàng)目大多采用前后端分離模式,這種模式優(yōu)點(diǎn)有很多,但是也會(huì)帶來(lái)不少問題
比如
請(qǐng)求后端接口時(shí)會(huì)受網(wǎng)絡(luò)因素影響,導(dǎo)致請(qǐng)求超時(shí);
這就需要我們?cè)谡?qǐng)求方法中設(shè)置攔截,對(duì)請(qǐng)求超時(shí)做處理;
我在項(xiàng)目中使用的axios封裝方法
設(shè)置網(wǎng)絡(luò)請(qǐng)超時(shí)攔截處理
import axios from "axios"; import { get } from "http"; import { Toast } from 'vant'; // api 路徑 // const server = "https://operator-app.funenc.com"; const httpAxios = axios.create();//創(chuàng)建實(shí)例 let Config = { TIMEOUT: 6000,//設(shè)置超時(shí)時(shí)間為6秒 baseURL: { dev: window.BASEURL_01, prod: '' } }; // axios 配置 httpAxios.defaults.timeout = Config.TIMEOUT; httpAxios.interceptors.response.use( response => { return response; }, error => { if(error.message.includes('timeout')){ // 判斷請(qǐng)求異常信息中是否含有超時(shí)timeout字符串 Toast('請(qǐng)求超時(shí),請(qǐng)稍后再試') return Promise.reject(error); // reject這個(gè)錯(cuò)誤信息 } Toast('網(wǎng)絡(luò)連接失敗,請(qǐng)稍后再試') return Promise.reject(error); }); export function fetch(url, method = "GET", params, query) { if (sessionStorage.app_token && sessionStorage.device_id) { httpAxios.defaults.headers["app-token"] = sessionStorage.app_token; } return new Promise((resolve, reject) => { httpAxios({ method: method, url: global["G_SERVER_URL"] + url, data: params, params: query }) .then(response => { resolve(response.data); }) .catch(error => { reject(error); }); }); }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
axios無(wú)法加載響應(yīng)數(shù)據(jù):no?data?found?for?resource?with?given?i
最近在在做一個(gè)小查詢功能的時(shí)候踩了一個(gè)坑,所以這篇文章主要給大家介紹了關(guān)于axios無(wú)法加載響應(yīng)數(shù)據(jù):no?data?found?for?resource?with?given?identifier報(bào)錯(cuò)的解決方法,需要的朋友可以參考下2022-11-11vue3+ElementPlus+VueCropper實(shí)現(xiàn)上傳圖片功能
文章介紹了如何在Vue3、ElementPlus和VueCropper組件中實(shí)現(xiàn)圖片上傳和裁剪功能,包括放大、縮小等操作,感興趣的朋友跟隨小編一起看看吧2025-01-01Vue組件BootPage實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)功能
這篇文章主要為大家詳細(xì)介紹了Vue小組件BootPage實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09vue3實(shí)現(xiàn)CSS無(wú)限無(wú)縫滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了vue3實(shí)現(xiàn)CSS無(wú)限無(wú)縫滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06vue實(shí)現(xiàn)局部刷新的實(shí)現(xiàn)示例
這篇文章主要介紹了vue實(shí)現(xiàn)局部刷新的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Vue.js實(shí)現(xiàn)下載時(shí)暫停恢復(fù)下載
本文主要介紹了Vue.js實(shí)現(xiàn)下載時(shí)暫?;謴?fù)下載,通過使用XMLHttpRequest對(duì)象來(lái)控制下載過程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01