2017-05-24 83 views
0

我在寫一個節點函數,它的執行時間不應該太近(比如5秒)。如何在函數執行中強制執行最小延遲時間?

我需要強制執行函數內的最小延遲,而不是在調用方,因爲它的用戶應該對延遲一無所知。
這就是爲什麼我不能用類似delaydelayed節點模塊邏輯的原因...

請注意,我不能簡單地setTimeout()包裹功能代碼要麼,因爲我要強制執行之間的最小延遲(即:第一次執行應立即開始)。

+0

您可以簡單地使用setTimeout ... –

+1

您正在尋找的是油門功能。查看https://stackoverflow.com/questions/27078285/simple-throttle-in-js,瞭解可以傳遞功能的功能,以及節流時間。 –

+0

@Jonas w:不,我不能:這個函數可以在同一時間被調用100次:5秒後它應該開始100次執行...... – MarcoS

回答

1

你看過bottleneck?也許你想包裝你的功能?

+0

謝謝。如果因爲某種原因使用Arnav Aggarwal建議油門失敗,我會嘗試瓶頸... – MarcoS

+0

油門解決方案對我無效。瓶頸限制器是一件輕而易舉的事情。 – MarcoS