ThreegunD
@ThreegunD

Правильный ajax-запрос для получения и объединение данных?

Суть такая:
По нажатию кнопки мы делаем запрос на сервер, получаем данные и проверяем, если длина данных равна 500, то отправляем ещё раз (указываем отступ в 500) и т.д. пока данных не будет меньше 500 (что значит, что больше нет).
В итоге получаем массив данных, например длиной 4500.
Пока остановился на синхронных запросах, т.к. в асинхронных-данные приходят раньше всех объединений.
Хотелось бы узнать, как сделать это правильно, чтобы не "замораживать" страницу на несколько секунд(как при синхронных запросах).
Пример того, как я это делаю сейчас.
function getMails () {
  var mails = [];
  var page = 1;
  function request () {
			  var result = false;
			  $.ajax(
			    url: 'какой-то урл/' + page,
			    async: false,
			    type: 'GET',
			    success: function (data) {
			      result = data.items;
			    }
			  });
			  return result;
			}
			function gluing () {
			  var part = request();
			    mails = mails.concat(part);
				if (part.length >= 500) {
					page++;
					gluing();
			  }
			}
gluing();
return mails;
}
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 13:10
400000 руб./за проект
24 апр. 2024, в 13:01
5000 руб./за проект
24 апр. 2024, в 13:00
3000 руб./за проект