axios解决多次请求的问题

import axios from 'axios'

const api = axios.create({

baseURL: 'https://api.example.com',

timeout: 5000

})

// 缓存请求信息

let cache = {}

// 请求拦截器

api.interceptors.request.use(config => {

// 获取请求的url和请求⽅法

// api1

const { url, method } = config

// 判断是否存在该请求

if (cache[url] && cache[url].method === method) {

const now = Date.now()

const diff = now - cache[url].time

// 如果请求时间间隔⼩于1000毫秒,则认为是重复请求

if (diff < 1000) {

return Promise.reject('重复请求')

}

}

// 缓存请求信息

cache[url] = { method, time: Date.now() }

return config

}, error => {

return Promise.reject(error)

})

// 响应拦截器

api.interceptors.response.use(response => {

return response

}, error => {

return Promise.reject(error)

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值