2017-05-24 96 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