JavaScript sleep/изчакване преди продължаване
Имам код в JavaScript, към който трябва да добавя функция за заспиване/изчакване. Кодът, който изпълнявам, вече е във функция, напр:
function myFunction(time)
{
alert('time starts now');
//code to make the program wait before continuing
alert('time is up')
}
Чувал съм, че възможното решение може да включва
setTimeout
но не съм сигурен как да го използвам в този случай.
Не мога да използвам PHP, тъй като сървърът ми не го поддържа, въпреки че използването на jQuery би било добре.
291
1
JS не разполага с функция за заспиване, а с функциите setTimeout() или setInterval().
Ако можете да преместите кода, който трябва да се изпълни след паузата, в обратната връзка
setTimeout()
, можете да направите нещо подобно:вижте примера тук : http://jsfiddle.net/9LZQp/
Това няма да спре изпълнението на вашия скрипт, но докато
setTimeout()
е асинхронна функция, този кодще отпечата това в конзолата:
(обърнете внимание, че Дог се отпечатва преди Това е)
Можете да използвате следния код, за да симулирате сън за кратки периоди от време:
сега, ако искате да заспите за 1 секунда, просто използвайте:
пример: http://jsfiddle.net/HrJku/1/
Моля, обърнете внимание, че този код ще държи скрипта ви зает за n милисекунди. Това не само ще спре изпълнението на Javascript на вашата страница, но в зависимост от имплементацията на браузъра може да направи страницата напълно неотзивчива и евентуално да направи целия браузър неотзивчив. С други думи, това почти винаги е погрешно.