Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Асинхронный setTimeout (https://javascript.ru/forum/misc/56730-asinkhronnyjj-settimeout.html)

KupueIIIKo 01.07.2015 14:40

Асинхронный setTimeout
 
Прочитал статью http://vanilla-js.blogspot.ru/2013/0...ettimeout.html
VK.addCallback("onScrollTop",onScrollTop);
	shedule ();
	function shedule (){
		setTimeout(function(){
			VK.callMethod('scrollTop');
			myAsyncParseFile(function(){
				shedule();
			});
		}, 100);		
	}
Частоту поставил 100, вообщем прочитал 3 раза не понял, как мне зациклить функцию без наложения. Я реально не понимаю что автор статьи хотел донести. То есть я должен вернуть калбэк функцию по выполнению. Так у меня и так setTimeout выполняет...

caetus 02.07.2015 02:49

как я понял автор имел виду использовать эту функцию удобно когда тебе нужно получать новые данные с сервера каждые например 2 секунды , если сделать через setInterval то есть большой шанс что ты отправишь второй запрос не получил еще ответ на первый !

(function shedule (){
setTimeout(function(){
myAsyncParseFile(shedule);
}, 2000);
}());


function myAsyncParseFile (callback) {
var i = 0;
while (i < 100) i++;
console.log(true, i)
if(i == 100) callback();
}

// в функции myAsyncParseFile может быть например ajax запрос!


[/JS]


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