Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   setTimeout() (https://javascript.ru/forum/events/11042-settimeout.html)

Маэстро 04.08.2010 14:53

Цитата:

Сообщение от Kolyaj (Сообщение 66210)
inGray,
то, что браузер зависнет, вас не смущает?

Объясните, почему броузер должен зависнуть? При использовании setTimeout() ничего не зависнет.

Octane 04.08.2010 14:58

Цитата:

Сообщение от Маэстро
Объясните, почему броузер должен зависнуть?

Попробовать трудно?
while(1);

Маэстро 04.08.2010 14:59

Цитата:

Сообщение от subzey (Сообщение 66215)
...код с таймаутом запустится только тогда, когда пройдет нужное время и никакой код не будет выполняться.

Что за ..........?
Это код ВНУТРИ setTimeout('ABCD()', xxx) не будет выполняться, пока не пройдёт заданное время ххх, т.е. не будет выполняться функция ABCD(). А код, следующий за строкой setTimeout(...), будет выполняться сразу! Вот с этой проблемой и обратился автор поста.

Маэстро 04.08.2010 15:01

Цитата:

Сообщение от Octane (Сообщение 66248)
Попробовать трудно?
while(1);

Не буду это я пробовать! Где в Вашем цикле используется setTimeout()?

Kolyaj 04.08.2010 15:02

Цитата:

Сообщение от Маэстро
Объясните, почему броузер должен зависнуть?

А почему он не должен зависнуть? В вечном цикле он будет что-то делать, выполняется всё в одном потоке, поэтому браузер больше ни на что не отвечает.

Цитата:

Сообщение от Маэстро
А код, следующий за строкой setTimeout(...), будет выполняться сразу! Вот с этой проблемой и обратился автор поста.

В JavaScript такой код невозможен.

Kolyaj 04.08.2010 15:03

Цитата:

Сообщение от Маэстро
Не буду это я пробовать! Где в Вашем цикле используется setTimeout()?

А кто говорил, что при setTimeout что-то виснет?

Octane 04.08.2010 15:03

Маэстро, читайте внимательнее, речи про setTimeout не было:
Цитата:

Сообщение от inGray
Любую задержку можно реализовать циклами.. конечными или бесконечными. В том числе и ожидание семафора.

Цитата:

Сообщение от Kolyaj
inGray,
то, что браузер зависнет, вас не смущает?

Цитата:

Сообщение от Маэстро
Цитата:

Сообщение от Kolyaj (Сообщение 66210)
inGray,
то, что браузер зависнет, вас не смущает?

Объясните, почему броузер должен зависнуть?


inGray 04.08.2010 15:08

К чему весь этот спор? При реализации циклов через while или for дальнейшие операции не выполняются ожидая завершения цикла - получаем аналог команды sleep (Часть вопроса автора топика). Если цикл писать через setTimeout() другие функции продолжают выполнятся. И браузер будет отвечать на команды пользователя.

Gvozd 04.08.2010 15:09

Маэстро,
благодаря вам и таким людям как inGray появилось понятие "быдлокодер"
Цитата:

Сообщение от Маэстро
Человеку надо задачу решить, а не придумать название своему скрипту.

inGray сам придумал "название" своему скрипту
да, скрипт применительно к данной ситуации рабочий(о чем я уже сказал), но называть его циклом неправомерно

Kolyaj 04.08.2010 15:10

Цитата:

Сообщение от inGray
получаем аналог команды sleep

Это не аналог sleep.

Цитата:

Сообщение от inGray
Если цикл писать через setTimeout() другие функции продолжают выполнятся.

Если писать через setTimeout, то дальнейшие операции не будут дожидаться окончания "цикла".


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