Функция ожидания Javascript ()

Я хочу создать функцию ожидания javascript. что я должен редактировать?

function wait(waitsecs){ setTimeout(donothing(), 'waitsecs'); } function donothing() { } 

Javascript не является streamовым, поэтому «ожидание» заморозит всю страницу (и, вероятно, приведет к тому, что браузер полностью прекратит выполнение сценария).

Чтобы конкретно решить вашу проблему, вы должны удалить скобки после 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 .