VUE 如果避免单用户过多请求?

2018-09-21 23:11:37 +08:00
 phpuser
我们有个 VUE 实现的页面,有多个 Tab, 每个 Tab 会使用 axios 请求后端 json api,如果响应稍慢(高并发时), 在响应回来之前用户会不停止的点击不同的 Tab,导致不断的请求 api. 然后恶性循环... ..

请问一下一般是怎么处理的?我们临时加了个机制,一个响应回来前禁止用户对页面的其它元素点击事件...

另外,请问 nginx 代理后端 PHP 或 java 时,用户停止请求,是否有选项停止后端 php/java 的这个请求?

谢谢..
2149 次点击
所在节点    问与答
9 条回复
kslr
2018-09-21 23:13:16 +08:00
请求做队列
kslr
2018-09-21 23:14:29 +08:00
但我觉得这个应该业务上改进,比如做个 loading 动画覆盖
phpuser
2018-09-21 23:16:17 +08:00
@kslr "请求做队列" 有没有稍微详细一点的信息或关键字, 指在 VUE 还是后端? 多谢.

之前有个 loading 动画, 但未覆盖. 现在已经加上覆盖,就是想知道一下有没有其它什么解决方式..
watzds
2018-09-21 23:16:36 +08:00
用户是机器人?不停点击…,加个加载动画得了
kslr
2018-09-21 23:23:41 +08:00
@phpuser #3 axios queue 等等
解决方式就是经典优化方案,从 UI 到前端后端巴拉巴拉一大堆
agdhole
2018-09-21 23:38:42 +08:00
载入动画 + sessionStorage + 后端限制请求频率
molvqingtai
2018-09-21 23:41:04 +08:00
套个防抖函数?
colincat
2018-09-21 23:48:26 +08:00
Keep-live ???
f0rger
2018-09-22 17:40:13 +08:00
核心问题是后台慢,优先解决后台问题。前端点击后等待时出个 loading 层遮住不让点就好。
这只是治标,别人抓个包 replay 一下你后台还得跪

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/491685

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX