繁体   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