作者void0 (______)
看板Ajax
标题[问题] ajax频繁取得资料後 网页js执行变很慢
时间Fri Aug 30 20:06:37 2019
我大概是这样写
var data1 = {};
var data2 = {};
ajax function(){
data1 = response.table1
data2 = response.table2
}
然後网页有mouse座标互动的event
会去读取data1,2 然後显示资讯在div上
在频繁执行ajax function()後
互动的event会越来越慢...
像这种要怎麽处理比较好呢?
thx
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.230.34.172 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1567166799.A.1D5.html
1F:→ freeccc: mouse event 的 callback 有做什麽复杂运算的事吗 08/30 20:18
会用loop去读取data 找到资料後就break
速度一直都很ok 但最近新增了频繁取得资料的功能後
就会渐渐变慢 @@"
※ 编辑: void0 (36.230.34.172 台湾), 08/30/2019 20:25:09
2F:→ Hevak: 应该跟 ajax 没关系,但没看到你怎麽显示资料的 code 很难 08/30 20:26
3F:→ Hevak: 给建议,通常是卡在你画面上显示资料的方式不对导致物件太 08/30 20:27
4F:→ Hevak: 多影响效能之类的 08/30 20:27
显示资料的code如上所述 就是loop data,找到资料後更新div html
比较运算的部分是要去计算转换网页的xy跟data内的xy对应,但也不是甚麽复杂运算
data的内容都是少量增加的 没有一次增加到无法负荷
dom物件并没有增加 一直都是更新同一个div
变慢的部分是该div会跟着滑鼠游标跑 会变得更不上
所以才在想为何更新资料十多次以上後 会变慢?
5F:→ max241: 我会用Rx.js并优化流程(cache之类的) 08/30 23:39
※ 编辑: void0 (36.230.34.172 台湾), 08/31/2019 20:47:14
6F:→ freeccc: 没 code 的话只能隔空抓药罗 08/31 21:48
7F:推 jack82822005: 先问个为什麽要loop好了 09/01 00:08
8F:推 CloudyWing: ajax能同时执行的数量有限,超过就要排队 09/01 22:48
9F:推 ian90911: 没code看 猜有重复注册问题 09/02 15:59
10F:→ shadowjohn: 取到资料用完主动清空看看~ 09/02 17:59
11F:推 odbc: 这题有兴趣, 但没 code.... =_= 10/07 11:10
12F:→ odbc: 你高频是多高频....AJAX 收到後有做什麽处理 10/07 11:11
13F:→ odbc: 还是你有 ajax memory leak ? 10/07 11:12
14F:→ wotupset: 大概是loop没写好 网页元素变多就会顿了 11/01 21:06