23得票1回答
下划线防抖动调用多次

调用_.debounce()会导致函数在延迟后被执行多次而不是一次。如何使得_.debounce()内的函数在指定延迟后只被执行一次呢?我的使用场景是在用户停止输入后执行 AJAX 请求。 例如,输入框中的输入会导致消息在1秒后出现在控制台。在我的例子中,你会看到出现多个消息(每个字母都会出...

21得票4回答
Rx中的即时去抖

我正在寻找一个能够对一系列事件进行防抖处理的运算符,比如用户点击。其输入和输出应该像这样:interval : -> <- -> <- in : 1--2--3-------4--5--5--6-7-8----...

18得票3回答
RxJS.Observable中的debounce是什么?

有人能用通俗易懂的方式解释一下RxJS Observable debounce 函数的作用吗? 我想它根据参数偶尔会发出一个事件,但是我的代码并没有像我预期的那样工作。var x$ = Rx.Observable.fromEvent(window, 'click') .map(fun...

17得票2回答
使用lodash进行去抖动并忽略除最后一次之外的所有调用

假设我有一个函数foo,它在短时间内接收到许多调用。function foo(name) { console.log(`Hi ${name}, it is now: `, new Date()); } 使用lodash可以很好地实现延迟连续函数调用(防抖)。 const debounc...

17得票5回答
限制JavaScript函数调用频率,但要进行排队(不要丢弃调用)

如何对一个函数进行调用频率限制?如果调用过于频繁,不应将它们丢弃,而应该将它们排队并在X毫秒之间分隔开。我查看了throttle和debounce,但它们会丢弃调用而不是将其排队以便在未来运行。 除了使用队列和设置X毫秒的process()方法之外,是否有更好的解决方案?JS框架中是否有此类...

17得票4回答
如何使用 Kotlin 协程在 1 秒内去抖动 setOnClickListener?

当用户快速点击按钮时,showDialog() 方法会在彼此之上显示多次,因此当您解除它时,背后还有另一个对话框。我正在寻找一种方法,在不使用处理程序或检查前一个点击的时间的情况下,忽略第二次点击 1 秒钟。//Button that opens a dialog button.setOnCl...

16得票5回答
debounceTime仅在第一个值之后生效

有没有一种简单的方法可以使debounceTime在第一个值上立即生效?searchQueries.pipe(debounceTime(1000)) 假设我将搜索查询限制在1秒内。 我的理解是,这将导致第一次搜索有1秒的延迟。但是,我希望第一次搜索查询是即时的。 (例如,在此示例中,如果我...

15得票1回答
如何在JavaScript中从防抖函数中返回值?

我有这样一段代码:var originalFunction = function() { return 'some value'; }; var debouncedFunction = _.debounce(originalFunction, 3000); console.log(...

15得票2回答
VueJS 2在多个组件上使用防抖函数

我有一个Vue组件,在它上面使用了多个子组件。在这些子组件上,我有一个监视器来监视数据更改并处理这些更改。我想为此实现防抖动。 watch: { data: { handler: function () { this.processData() ...

15得票1回答
React使用防抖函数与setState更新状态

背景 假设我们都知道来自lodash的debounce函数。 如果用户快速输入1、12、123、1234,它允许我们在一定延迟时间后只弹出一个警报框,其中包含1234。 这很适用于减少请求次数,以进行优化。 说明 对于普通的输入字段,我们可以使用那种debounce并且它可以正常...