简介
axios的拦截器是一个非常优秀的设计,借助它我们可以实现很多效果,节省重复的代码。
今天重点不是介绍axios,而是带领大家实现一个在网络较慢时弹出友好提示的拦截器。类似与下面的效果。
大家可以到这里来体验: http://ngzhixiao.gitee.io/heiibaiitoy/articles/axios/slownetwork/index.html
如果大家是在电脑上访问的话,可以打开控制台的network选择网络的slow 3G会更接近真实的体验
实现
// 记录当前请求发出但未返回的id
const requestMap = new Set()
function generateId(url) {
return url+new Date().getTime()+Math.random()
}
/**
* 慢网络提示拦截器,在网络慢的情况提示用户等待
*/
const slowNetworkInterceptor