javascript - ajax 请求是否会降低浏览器速度?

标签 javascript jquery ajax

我尝试同时发送ajax请求并执行GUI动画(每秒大约150个请求)。第一次做的时候还好,刷新页面或者重启浏览器动画就会变得很卡顿。

因此,我尝试删除 ajax 回调中的所有内容,但浏览器在等待响应时仍然表现得非常缓慢。我还尝试了 jquery $.get,并将 async 设置为“true”,但问题仍然存在。

但是,如果我将ajax改为websocket,这个问题就解决了。那是不是说,js发送的ajax请求会影响性能呢?我想解决这个问题,谢谢!

代码:

var i = 0;
var f = setInterval(function(){
    // url is an array
    addItem(url[i]);
    i++;
    if(i >=url.length) clearInterval(f);
},33);

// send ajax requests
function addItem(url){
    var xml = new XMLHttpRequest();
        xml.open('GET',url,true);           
        xml.send();
        xml.onreadystatechange = function(){
            if(xml.readyState == 4 && xml.status==200){ 
                // do nothing
            } 
        }
}

最佳答案

每秒 150 个请求似乎是糟糕的设计。您需要对请求进行分组并减少发送数量。动画让情况变得更糟。我相信没有任何有效的解释可以提出这么多的要求。是的,您可以切换到 WebSocket,但请确保您的通信不会重复消息,也不会发送可以作为单个消息发送的多条消息。

关于javascript - ajax 请求是否会降低浏览器速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28001501/

相关文章:

javascript - 新使用 React : TypeError: Cannot read property 'map' of undefined

jquery - 窗口调整大小时获取文档的大小

jQuery addClass 影响一次

javascript - SetTimeout 未针对 mousedown/touchstart 函数执行

javascript - 空 ajax 响应后 JQuery 不工作

javascript - 有没有办法在 Android 应用程序的 webview 中获取 HTML?

javascript - 有或没有请求结束事件,有什么区别?

php - Ajax PHP - 仅当 DOM Explorer 打开(边缘)时才会回显结果

javascript - 如何使用 css 在运行时将事件附加到特定类型的所有 html 元素?

javascript - 为每个用户刷新聊天正文