我知道setInterval(foo, n)
它每秒调用foo
。 但是,我怎么能做得更快,更快?像第一次之后,该功能将在n-1
秒内再次被调用,然后n-2
秒,依此类推。时间延迟之后的呼叫功能,然后更快
-1
A
回答
2
改为使用setTimeout
。它将用新的超时值调用一个函数,该超时值将是前一个-x ms,依此类推。 我已经添加了停止条件,所以它不会永远运行。
function recall(n) {
console.log(n);
n -= 100;
n < 0 || setTimeout(function() {
recall(n);
}, n);
}
recall(1000);
0
在这种情况下,你可以使用setTimout
递归:
function foo() {
console.log(new Date());
}
function fasterAndFaster(fn, seconds) {
if (seconds <= 0) { return; }
setTimeout(function() {
fn();
// Recursive call
fasterAndFaster(fn, seconds - 1);
}, seconds * 1000);
}
fasterAndFaster(foo, 5);
console.log("Wait 5 seconds");
0
您可以结合使用setTimeout(foo, n)
与foo.bind
代替,然后递归调用您的功能。
相关问题
- 1. 功能之间的延迟
- 2. Ajax呼叫延迟
- 3. jQuery的 - 点击呼叫功能,然后单击功能
- 4. 超时后CPP呼叫功能
- 5. 如何将呼叫时延的功能
- 6. 持续时间后的呼叫超时功能Callkit
- 7. 延迟呼叫+ UI上的更新CountDown
- 8. RxJava连锁呼叫延迟
- 9. 延迟呼叫MATLAB函数
- 10. JS功能后的位置加载 - 添加延迟时间
- 11. jquery键盘功能之间的延迟
- 12. 。然后不经过呼叫服务功能
- 13. 呼叫基地功能,然后继承函数
- 14. Android:在延迟后设置呼叫转移
- 15. 呼叫功能
- 16. 呼叫功能
- 17. 呼叫功能
- 18. 呼叫功能
- 19. 呼叫功能
- 20. 呼叫功能
- 21. 呼叫功能
- 22. 呼叫中的额外参数“延迟”
- 23. 如何合并Objective-C中的延迟/延迟呼叫?
- 24. 呼叫时,功能不respondong
- 25. 挂钩功能后呼叫原始功能
- 26. 模块之间的呼叫功能彼此之前
- 27. 呼叫后
- 28. 延迟一段时间后显示uipickerview
- 29. Twilio功能 - 呼叫功能
- 30. 广播接收器呼叫延迟
使用'setTimeout',而不是因为它激发一个单一的时间,那么你可以重新计算超时,并设置下一个。 – MrCode