Javascript - 带有速率限制器的进程内函数执行器?



想象一下,我有一些函数f()应该不断执行。但是我想设置执行速率限制,例如"1 分钟内执行函数不超过 10 次"。在代码视图中,我认为它可以具有以下接口:

(async () => {
const f = async () => {};
const executor = new Executor({ max: 1, duration: 10000 });
Array(10).fill(null).map(x => executor.addJob(f));
await executor.execute();
})();

关于如何在纯JS上实现这一点,我有一些想法,但是一些实现已经可用?另外,我知道可以使用一些 3 方软来实现,例如 Bull 队列等,但我需要完全在进程中实现。

提前感谢!

您要查找的内容称为限制。你可以在流行的库中找到它,如lodash的油门,或者你可以在vanilla javascript中实现它,如这个答案

最新更新