Ответ 1
Вы не можете напрямую вызывать вызов ajax, но очередь их и позволить менеджеру управлять очередью, см. здесь: Запросы ajax очереди с помощью jQuery.queue()
Итак, у меня есть веб-приложение, которое делает около 14-15 вызовов AJAX для некоторых API. Проблема в том, что время, которое все вызовы AJAX берет, почти в 3 раза превышает время, в течение которого каждый отдельный API показывает мне ответ при вводе его URL-адреса в браузере.
Я делаю все вызовы AJAX мгновенно внутри события DOM Ready.
Дело в том, как я могу ускорить этот процесс создания 15 вызовов AJAX вместе, получив ответ как можно быстрее и манипулируя DOM соответственно.
Несколько точек, которые у меня на уме:
cache:true
в настройке AJAX. Я не думаю, что это действительно поможет, но я делаю это везде, где я уверен, что контент будет обновляться очень медленно.Любые предложения будут ценными! Спасибо.
То, как я делаю вызовы 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.
Вы не можете напрямую вызывать вызов ajax, но очередь их и позволить менеджеру управлять очередью, см. здесь: Запросы ajax очереди с помощью jQuery.queue()
Я рекомендую вам использовать модуль async.js на клиенте. Может быть, это то, что вы ищете.