Как выполнить функцию после нескольких AJAX ( количество ajax неизвестно )?

114
29 июня 2019, 11:40

Как после получения ответов сервера от всех AJAX, запустить функцию? Количество AJAX запросов неизвестно, всегда может быть разным. Но нужно дождаться ответа от них и на основании полученных данных выполнить функцию

function first(i) {  
  $.ajax({ 
    type: 'post', 
    url: myajax.url, 
    data: { 
      action:   'testAjax' 
    }, 
    complete: function(response) { 
        window.console.log('AJAX'); 
        if ( i === 5 ) {  
          second();  
        } 
    } 
  });  
}; 
function second() { window.console.log('Функция после AJAX'); }; 
 
 
for (var i = 1, max = 5; i <= max; i++) { 
  first(i); 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Answer 1

const arr = []; 
 
for (let idx = 1; idx < 6; idx++) { 
  arr.push( 
    $.ajax({ 
      url: `http://jsonplaceholder.typicode.com/users/${idx}`, 
      type: 'GET' 
    }) 
  ); 
} 
 
Promise.all(arr) 
  .then(values => { 
    // обработка результатов 
    console.log(values); 
  }) 
  .catch(err => { 
    // обработка ошибок выполнения запросов 
    throw err; 
  });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

READ ALSO
Смена цвета меню JavaScript

Смена цвета меню JavaScript

Как сделать, чтобы при нажатии на любое подменю, цвет меню менялся?

127
owlCarousel карусель перенос видимых элементов

owlCarousel карусель перенос видимых элементов

Как можно сделать перенос видимых элементов owlCarousel карусель?

127
Кнопка обратного действия на JavaScript:

Кнопка обратного действия на JavaScript:

Всем привет, есть разметка и js код, в разметке textarea и 2 кнопки - перевод и показать исходный текстВ js коде есть скрипт, который при нажатии на копку...

143
js substr() не обрезает текст [закрыт]

js substr() не обрезает текст [закрыт]

Пытаюсь сделать обрезку текста по количеству символов:

125