簡體   English   中英

等待下一個功能不起作用

[英]Wait before next function not working

我需要等待5秒鍾才能運行第二行:

 function waitnext() { setTimeout('', 5000); alert('waited'); } 

但是,似乎在運行該功能時會立即打開警報。 任何想法如何解決這個問題? 謝謝

 function waitnext() { setTimeout( function(){ alert('waited'); }, 5000); } waitnext(); 

您的語法錯誤。 在這里您可以找到文檔https://www.w3schools.com/jsref/met_win_settimeout.asp

將您要運行的行經過一段時間延遲后作為setTimeout的回調

function waitnext() {
    setTimeout(function() {
        alert('waited'); // runs after 5000ms
    }, 5000);
}

在指定的毫秒數過去之后, setTimeout評估一個回調函數。

使用ES6的解決方案。

 let waitnext = () => { setTimeout(() => { // callback alert('waited'); }, 5000); } waitnext(); 

或使用ES5:

 'use strict'; var waitnext = function waitnext() { setTimeout(function () { // callback alert('waited'); }, 5000); }; waitnext(); 

function waitnext(){
 setTimeout(function(){
 alert('waited');
}, 5000);

嘗試這個

一些樣品...

 var myAlarm = e => console.log(e);
 var myStop = () => console.log('stop');
 var wait = (delay, callback) => setTimeout(callback, delay);

 wait(2000, () => myAlarm("finished after 2 seconds"));
 wait(3000, myStop);

 // the following line don´t work ...
 // the function was executed immediately
 wait(4000, myAlarm('cheesecake'));

//use setTimeout 
setTimeout(myStop, 1000);
// the following line don´t work ...
// the function was executed immediately
setTimeout(myAlarm('cheesecake'),3000);
// this works
setTimeout(() => myAlarm('cheesecake'),3000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM