вообще-то там не было многопоточности.
а было следующее: вы вызвали функцию, отправляющую запрос на сервер. функция выполнилась, и в данный момент никакого JS-а не выполняется. то, что в это время обрабатывается запрос на сервер, JS-а не касается. когда приходит результат, вызывается обработчик события onreadystatechange, который и обрабатывает запрос. в момент между отправлением запроса, и приходом результат, в случае асинхронного JS можно выполнить какую-то другую функцию. если она будет длится достаточно долго, то может произойти так, что результат с суревера уже пришел,но еще не был обработан. пока не освободится очередь JS, запрос не будет обработан соответствующим обработчиком события.но как только освободится очередь, он будет выполнен. также и задержка выполнения не гарантирует вызова через указанный промежуток времени. она гарантирует вызов через время не меньшее указанного промежутка.если будет очередь выполнения, он просто станет в очередь, и будет ждать для более подробного ознакомления с этими процессами,почитайте статью |
Вот мне нужна такая фигня которая раболабы как alert, только не выводилось бы на экран.
С alert в нужном месте всё работает. |
вы неправильно рассуждаете.
то, что вы хотите сделать при помощи алерта, также можно сделать без него навреняка. начиная от повешения на settimeout, и заканчивая добавлением своего кода к обработчику события прихода результата с сервера. более того второй предпочтительней, потому что заранее неизвестно сколько будет обрабатыватся запрос. то, что вы хотите сейчас сделать это лиш "костыли", причем костыли очень плохие. можно,если хотите просто поставить цикл на пару тысяч итераций. он задержит выполнения, как это сделал бы алерт. но это неправльный подход. разберитесь в google-API, и выясните, как добавить свой обработчик события к ихнему событию. это единственно правильный вариант решения |
Цитата:
|
посмотрите на этом сайтк http://learn.javascript.ru/settimeout-setinterval#повторение
посмотрите здесь
|
Часовой пояс GMT +3, время: 14:11. |