快速进行多次AJAX调用

时间:2015-11-27 09:19:34

标签: javascript jquery ajax

所以我有一个Web应用程序正在对一些API进行大约14-15次AJAX调用。问题是当我在浏览器中输入URL时,所有AJAX调用所花费的时间几乎是每个API向我显示响应的时间的3倍。

我正在DOM Ready事件中立即进行所有AJAX调用。

问题是如何加快这个将15个AJAX调用放在一起的过程,尽可能快地获得响应并相应地操作DOM。

我心中的几点:

  1. 所有AJAX调用本质上都应该是ASYNC。 (已经这样做了。)
  2. 不要同时进行所有AJAX调用。引发某种超时,因为同时进行所有AJAX调用可能会阻塞带宽并减慢流程的周转时间。
  3. 以任何方式减少API调用的数量。 (已经这样做了。)
  4. 尽可能少地操作DOM。 (已经这样做了。)
  5. 在AJAX设置中设置cache:true。我认为这不会真正有所帮助,但我确实无论在哪里,我确信内容的更新速度会非常慢。
  6. 任何建议都很有价值!感谢。

    我正在进行AJAX调用的方式

    $(document).ready(function(){
    
        loadSentimentModule();
        loadCountModule();
        loadEntitiesModule();  
        // Some more function calls.
    
    });
    
    function loadSentimentModule(){
    
       $.ajax({
              url:someurl,
              cache:true,
              dataType:"json",
              success: function(data){
    
                  // Based on data manipulating DOM.
              }
    
    }
    
    // Same kind of function defintions for all the functions.
    

2 个答案:

答案 0 :(得分:4)

您可能不会直接发出ajax调用,但是将它们排队并让管理员控制队列,请参见此处:Queue ajax requests using jQuery.queue()

答案 1 :(得分:1)

我建议您在客户端上使用async.js模块。可能正是你在寻找什么。