我知道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