gpt4 book ai didi

javascript - 无响应的 JavaScript 通知

转载 作者:行者123 更新时间:2023-11-30 07:10:36 25 4
gpt4 key购买 nike

我有一种情况,我在 FireFox 3.6+ 上的 GWT 网格中呈现来自服务器的项目。我有大约 200 个项目,我循环加载它们:

users = myService.getUsers();
for(User user : users){
myPanel.addUser(user); // Pseudocode. Actually i add some labels and text fields...
}

在此循环中更改 DOM 花费了很长时间,因此我收到了“Unresponsive script”通知。但我无法重构代码或进行分页,我需要一次加载一页上的所有 200 个项目。

有什么方法可以抑制这个通知吗?通知浏览器我的脚本没有挂起,而是在做一些有用的事情?

UPD 好的,这是我的代码更接近。这是一个大项目的代码,我们有很多自定义组件,所以我认为它没有实际值(value)。

    myService.getUsersDetails(searchCriteria, new MyCallback<List<User>>)
{

@Override
protected void response(List<User> result)
{
gridExpanderPresenter.clear();
int i = 0;
for (User user: result)
{
UserDetailsView detailsView = detailsViewProvider.get();
gridExpanderPresenter.setPresenter(UsersPresenter.this);
gridExpanderPresenter.add(detailsView.asWidget()); //Here is DOM manipulation i mentioned
if (i++ % 2 == 1)
{
detailsView.setOdd(); //Setting style here
}
detailsView.setData(user);
}
}

});

我认为 this可以帮助我...

最佳答案

您应该在将 myPanel 附加到 DOM 之前添加 User,或者如果它已经附加并且需要更新,请从中删除 myPanel DOM,添加所有用户并重新附加 myPanel

如果在附加 myPanel 的情况下添加 200 个用户,会发生什么情况是您的浏览器必须更新 DOM 200 次,这是非常昂贵的(重新计算和重新绘制屏幕)。

关于javascript - 无响应的 JavaScript 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8759296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com