实现思路
- 创建缓存对象:在应用中创建一个对象用于存储缓存数据,例如
cache
对象。
- 记录缓存时间:为每个缓存数据项添加时间戳,用于判断缓存是否过期。
- 封装API调用函数:在调用
axios
的函数中,先检查缓存中是否存在对应数据且未过期。若存在则直接返回缓存数据;否则,调用axios
获取数据,更新缓存并返回新数据。
关键代码示例
import axios from 'axios';
// 创建缓存对象
const cache = {};
// 封装API调用函数
async function apiCallWithCache(url, options = {}, cacheDuration = 60 * 1000) {
const cached = cache[url];
if (cached && Date.now() - cached.timestamp < cacheDuration) {
return cached.data;
}
const response = await axios(url, options);
cache[url] = {
data: response.data,
timestamp: Date.now()
};
return response.data;
}
// 使用示例
apiCallWithCache('/api/someData')
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});