Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Активные запросы (https://javascript.ru/forum/misc/70681-aktivnye-zaprosy.html)

surru 26.09.2017 13:12

Скроллит мой скрипт, затем он должен дождаться завершения запроса, скролить снова, и так пока скролл не окажется в самом низу, а количество активных запросов при этом не будет равным нулю.

Rise 26.09.2017 13:26

surru,
разве скролл не оказывается внизу при каждом скролле и количество активных запросов не равно нулю перед каждым новым скроллом?

surru 26.09.2017 14:45

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

Rise 27.09.2017 08:34

surru,
как вариант
window.addEventListener('load', function() {
	var active = 0, timeout;
	this._XMLHttpRequest = XMLHttpRequest;
	this.XMLHttpRequest = request;
	scroll();
	function request() {
		var xhr = new _XMLHttpRequest();
		xhr.addEventListener('loadstart', function() { clearTimeout(timeout), active++ });
		xhr.addEventListener('loadend', function() { --active || scroll() });
		return xhr;
	}
	function scroll() {
		timeout = setTimeout(loaded, 2000);
		scrollTo(0, 1000000);
	}
	function loaded() {
		alert('loaded');
	}
});

surru 27.09.2017 13:21

Увы, событие load уже своё оттарабанило, в любом случае получается, что загрузка документа завершена, но данные подтягиваются(

Rise 27.09.2017 13:43

surru,
не понял, поподробнее

surru 27.09.2017 15:11

Этот код в любом случае реагирует что загрузка завершена, даже если ajax-запрос ещё не завершён.

Rise 27.09.2017 17:14

surru,
значит там не ajax-запрос а что то другое


Часовой пояс GMT +3, время: 13:49.