Спи в JavaScript (или эквивалент) - PullRequest
0 голосов
/ 22 июля 2011

Как мне подождать 1 секунду перед выполнением следующей функции?

Например, у php есть sleep ()

Ответы [ 3 ]

5 голосов
/ 22 июля 2011

setTimeout(f, 1000);

Установить тайм-аут для запуска функции через 1000 миллисекунд

window.setTimeout [документы]

window.setTimeout [спецификация]

window.setTimeout [темная сторона]

Как уже упоминалось в комментариях. JavaScript является однопоточным, и этот поток используется совместно с потоком пользовательского интерфейса браузера.

Итак, вызывая блокирующую функцию, такую ​​как sleep. Вы бы заблокировали поток only . Это также означает, что клиент не может взаимодействовать со страницей, пока она блокируется.

См. Статью Управляемое событиями [wiki] статью для получения дополнительной информации

1 голос
/ 22 июля 2011

Несмотря на то, что setTimeout поддерживается во всех основных браузерах, я предпочитаю использовать библиотеку javascript, потому что обычно каждый делает больше js, чем просто вызывает функцию timeout. В YUI его:

YAHOO.lang.later(1000, this, function() {
...
});

Подробнее здесь .

0 голосов
/ 22 июля 2011

Для этого можно использовать метод setTimeOut http://www.w3schools.com/js/js_timing.asp

setTimeout ("alertMsg ()", 1000);

function alertMsg () {alert ("Hello");}

...