1
abelyao 2014-11-12 09:57:44 +08:00 1
1、缓存;
2、点击之后,直到数据加载完成之前,都把按钮的点击事件禁用了; 3、可以网络抓包看看到底有没有走数据; |
2
Registering OP @abelyao
1,缓存 所有和图片相关的数据本地都适用缓存了 2,数据加载完成之前,禁用按钮, 谢谢提醒,这个很容易解决 3,网络抓包 这个不大懂,目前只知道轮询检测是否有数据更新(比如没20秒钟给服务器发一个轮询请求,检查是否有新数据) |
3
linKnowEasy 2014-11-12 10:12:54 +08:00
问题 毕竟群组成员可能随时有新成员加入,或者旧成员更新头像昵称
建议 你所说的问题 你可以提供一个刷新 的交互方式给他 而不是每次都刷新 |
4
skydiver 2014-11-12 10:19:56 +08:00 via Android
就像按住F5一样,这种都是要处理的,要么加缓存保证能撑住,要么加频次限制
|
5
Registering OP @linKnowEasy 那么在列表中加一个下拉刷新,这点也可以借鉴参考
|
6
yanng 2014-11-12 10:55:39 +08:00 via iPhone
加个遮罩层,服务器返回了再去掉。另外计算两次请求的时间间隔,太频繁的请求禁止。
|
7
yjsslab 2014-11-12 10:59:21 +08:00
|
8
hjc4869 2014-11-12 11:01:20 +08:00
点击后禁用按钮。
|
9
Registering OP @yjsslab 公司万恶的VPN
|
10
xoxo 2014-11-12 11:02:11 +08:00
服务端限制
|
11
Registering OP @xoxo 服务端限制,,那是请求已经发生之后的事情了,,,目的是避免多余请求
|
12
xoxo 2014-11-12 11:15:51 +08:00
@Registering 那就前端限制
|
13
tini8 2014-11-12 11:18:23 +08:00
想多了
|
14
jfengsky 2014-11-12 12:10:26 +08:00
我的做法是在发请求前禁用按钮
|
15
jsPop 2014-11-13 10:47:28 +08:00
前端控制:
1 缓存:群组信息缓存在页面范围里,如果你是前端渲染的话最好,缓存数据即可。缓存设置一个ttl,过期就重新请求后端,在不用websocket保持同步的情况下,我觉得1分钟都没问题。缓存甚至可以保留数据在localStorage。 当用户点击群组时,利用缓存立刻更新群组。这时有两种情况,数据过期与未过期。未过期就不用做额外处理。过期的话,在你的界面弄个小指示,表示现在在更新数据,然后往后台拿数据,拿到之后更新数据,刷新B。 2 websocket push同步。详见 http://socket.io/ |