【发布时间】:2016-10-06 14:06:06
【问题描述】:
我有一个 javascript 函数,我设置了一个间隔,每 30 秒执行一次。这是我的代码:
function ping() {
// code ...
}
ping(); // call function when page loads for first time
// call function every 30 seconds
window.setInterval(function(){
ping();
}, 30000);
我想做的是将第一次调用(页面第一次加载时)延迟 5 秒,然后该函数应每 30 秒再次执行一次。
我尝试了setTimeout,但似乎不起作用,它立即执行任何想法我做错了什么?
setTimeout(ping(), 5000); // delay first call for 5 secs
// call function every 30 seconds
window.setInterval(function(){
ping();
}, 30000);
【问题讨论】:
-
将
setTimeout(ping(), 5000);更改为setTimeout(ping, 5000);。()后跟函数名会立即调用它。 -
如果您在 ping 调用中删除 (),这应该可以工作。
标签: javascript