Я хочу создать функцию ожидания javascript. что я должен редактировать?Javascript wait() function
function wait(waitsecs){
setTimeout(donothing(), 'waitsecs');
}
function donothing() {
}
Я хочу создать функцию ожидания javascript. что я должен редактировать?Javascript wait() function
function wait(waitsecs){
setTimeout(donothing(), 'waitsecs');
}
function donothing() {
}
Javascript не заправлен, поэтому «ожидание» заморозит всю страницу (и, вероятно, заставит браузер полностью прекратить выполнение скрипта).
Чтобы конкретно решить вашу проблему, вы должны удалить скобки после donothing
в вашем setTimeout
вызова и сделать waitsecs
число которых не строку:
console.log('before');
setTimeout(donothing,500); // run donothing after 0.5 seconds
console.log('after');
Но это не остановит исполнение; «after» будет регистрироваться до запуска вашей функции.
Ждать правильно, вы можете использовать анонимные функции:
console.log('before');
setTimeout(function(){
console.log('after');
},500);
Все ваши переменные будут по-прежнему есть в разделе «после». Вы не должны их связывать - если вам нужно, вам нужно посмотреть, как вы структурируете программу. Также вы можете использовать setInterval
/clearInterval
, если это необходимо для цикла.
какой простой код! :) –
Не следует изменять его, вы должны полностью отказаться от него.
Любая попытка остановки выполнения в течение определенного времени блокирует браузер и переключает его в состояние «Не отвечает». Единственное, что вы можете сделать, это правильно использовать setTimeout
.
Вы, вероятно, имели в виду 'setTimeout (donothing(), waitsecs);' но я не понимаю, в чем суть этого. 'setTimeout' не блокируется, и вы не должны создавать отсрочку ожидания. http://stackoverflow.com/q/951021/139010 –
Лучше вопрос * почему * вы хотите иметь функцию 'wait'? –
Этот код вызывает donothing * немедленно * и передает строку, а не значение параметра. 'setTimeout (donothing, waitsecs)' будет лучшей попыткой ... глупой оберткой. – 2013-03-29 00:30:03