用户在页面提交某个请求时,会触发页面按钮事件,有时候网络响应慢,用户可能等不急,就会多次点击,在前端没用做预防措施的情况下造成多次发送请求,量大的时候可能会导致服务器奔溃,这篇文章罗列了我做业务时所用到的几种预防措施
对dom添加类
在以zeptojs、jquery为类库的项目中,简单做法,每次用户第一次点击就对其dom添加某个class,判断dom是否存在此class,存在则直接return,不存在则继续请求,同时页面可以调出一个loading,增加用户点击感知
基于vuex实现请求过滤拦截
项目中在用vue+vuex+vue-resource技术实现时,采用请求队列去实现,在用户每次请求时,把此请求加入队列中,请求完移除队列,每次请求有个拦截器专门处理是否上次请求还未结束,未结束则移除队列后再请求,🌰
|
|
EventEmitter
事件队列,在vue项目中,例如:针对页面初始事件,在mounted中挂载事件,beforeDestroy中移除事件
npm
源码分析
|
|