Javascript 如何使用同一油门限制多个功能?

Javascript 如何使用同一油门限制多个功能?,javascript,throttling,Javascript,Throttling,我想用相同的节流阀限制两个不同功能的执行 假设我有一个函数a和另一个函数B 我想限制两者的执行次数,这样,如果在时间0时调用A,并且限制为1000,B在经过1000毫秒后才应执行I所做的: doubleThrottle = (action) => { if (action) return this.A() return this.B() } let throttledUpdate = throttle(this.doubleThrottle, 1000,

我想用相同的节流阀限制两个不同功能的执行

假设我有一个函数a和另一个函数B

我想限制两者的执行次数,这样,如果在时间0时调用A,并且限制为1000,B在经过1000毫秒后才应执行I所做的:

doubleThrottle = (action) => {
    if (action)
        return this.A()
    return this.B()
}

let throttledUpdate = throttle(this.doubleThrottle, 1000, {'trailing': false})

A
B
是否有返回值?
A
B
是同步的还是异步的?他们被称为什么样的人?为了给这个问题提供一个好的答案,最好是用一个。而不是限制它们,您需要确保firebase上的更新是以原子方式执行的。要做到这一点,您可能需要创建一个云函数,该函数使用一个函数执行原子操作。通常,像这样的节流/去盎司涉及一个变量范围,以便两个函数都可以看到它,然后在两个函数中使用
setTimeout
在“安全”时重置变量,以允许再次执行操作。与中的代码片段一样,有许多方法可以实现这一点,但它们都依赖于您正在实现的现有设计模式,也依赖于您对执行函数及其作用域的修改自由度。在不知道当前的设计模式、修改自由度或功能的一般范围的情况下,如果没有大量的猜测,这个问题是不可能回答的。@PatrickRoberts我已经试过了,但后来我意识到增量也取决于本地数据,而不仅仅是数据库中的数据,所以我使用的是firebase increment,它是原子的,但是局部变量的变化速度不够快,这就是我需要节流的原因