问题标签 [debounce]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何从节点命令行运行去抖动功能?
我知道去抖动是做什么的。我想在节点中触发它(通过运行带有 的脚本#!/usr/bin/env node
),但我遇到了麻烦。
下面的代码应该:
- Make
doThingAfterDelay()
在它被调用一次并且在 100 毫秒内没有被再次调用后运行一个简单的函数。 - 跑
doThingAfterDelay()
- 休眠(异步)15 秒,给
doThingAfterDelay()
时间去抖动并因此执行。
但是它不起作用:
它返回:
我期望:
如何使去抖动功能运行?
编辑:我可以通过以下方式获得所需的输出:
但我不明白为什么 -doThingAfterDelay()
返回一个真正的价值很重要。
javascript - 如何使用 async/await 去抖动?
我有一个输入框。用户停止输入后,我想执行一个 HTTP 请求并等待结果。
由于 jsbin 上不允许网络请求,所以我setTimeout()
改用了。
但是,当我在框中键入时,“正在搜索”会立即出现每个字符 - 我希望它仅在 500 毫秒到期后出现。
如何使用去抖动和等待?
reactjs - 使用 Underscore debounce[React] 获取事件对象
我正在尝试对我设法做到的操作使用 debounce,但是我想将 e 作为参数传递,但它不起作用。有什么办法可以做到这一点吗?
如果我拿走 e 它将进入函数,否则不会。我应该怎么做才能解决这个问题?
c - 轮询和去抖动 gpio (posix)
我编写了一个函数来处理来自用户空间的自定义键盘的输入。我用“direction”(输入)和“edge”(上升)属性配置了 gpios。然后我的函数使用 poll 来获取文件描述符的中断:
有没有办法在代码中添加去抖动功能?通常去抖动器使用“直接” gpio 读取,而不是中断,所以我现在不知道它是否可行。
c - 按位积分去抖算子混淆
我正在构建一个键盘,一些固件在用 C 语言编程的无线模块上运行。我正在尝试推出我自己的去抖动算法,并且可以使用一些帮助。本质上,这是代码的布局方式:
#define DEBOUNCE 5
- 这个值可以是从 1(不建议,不是真正的去抖动)到无穷大(出于显而易见的原因也不建议)的任何值。我用这个去抖动 32 个按钮,所以接下来我使用以下方法创建一个 32 位整数数组:
static uint32_t key_integration[DEBOUNCE];
在每次扫描输入(1KHz 轮询率)时,我将数组的倒数第二个项目移动到最后一个,将倒数第三个移动到倒数第二个,等等,直到我最终输入键的原始扫描到第 0 个数组项。(附带的问题:比仅仅从 0 迭代循环到 DEBOUNCE-2 更简单的方法?如果我有一个 (32*DEBOUNCE) 位整数,我会使用按位移位,但是......无论如何。)
现在我遇到困难的棘手部分:将数组结果与当前(去抖动)键状态进行比较。本质上,如果 key_integration int 的位 X 是 1 是所有数组,我想将它与当前(去抖动)键状态进行异或,以查看它是否已更改。如果 key_integration int 的每个位 X 在所有数组中都是 0,我也想做同样的事情。如果位 X 在数组中分散为 1 和 0,则它仍在去抖动并且不需要进行比较。
我目前对如何将 key_integration 数组与去抖键状态 int 进行比较感到困惑。我非常感谢有关如何 A)比较它们或 B)重构代码以更简单的方式完成相同结果的建议。我绝对不能相信我所想的就是最好的方法。
reactjs - 做出反应。实现 setState 方法的去抖函数
我正在开发一个简单的 hoc 组件,它将视口尺寸传递给它的孩子。在窗口调整大小时,我启动 handleResize 方法将新窗口尺寸传递给子组件。我想使用 lodash 中的 debounce func 来最小化调用 handleResize 方法的次数(ref)。
有谁知道发生了什么?
请告诉我
javascript - Jquery中的去抖功能?
一直在寻找去抖功能或在 Jquery 中去抖的方法。动画的构建会变得非常烦人。继承人的代码:
我把这些都包装在 $(document).ready(function() {
有办法去抖吗??
function - rxjs 缓冲区,直到在新的 arg 到达时重置超时
摘要:我正在使用 Rxjs 和一个新手。我想用可观察的方式实现这样的场景,但到目前为止还没有运气。
有一个函数 loadDetailsFromServer(itemIds),它调用服务器 api 并传递一些项目 ID。这个函数被偶尔调用。为了优化服务器调用,这就是我想要做的:随着第一个函数调用的到来,触发超时。如果在超时之前有任何新的函数调用到达,则重置超时以重新开始。当超时开始时,将进行服务器调用,并且参数计数重置为零。
这是一个大理石图:
提示:这类似于搜索框示例并从服务器获取结果,除了中间值是感兴趣的,并且不会被忽略/跳过。
vue.js - VueJS 2 在多个组件上去抖动
我有一个使用多个子组件的 Vue 组件。在这些子组件上,我有一个观察者来观察数据变化并处理这些变化。我想为此实现去抖动。
问题是 debounce 有效,因此它仅在最后一个子组件上执行。
我找到了一个接受额外 id debounceWithId的 debounce 函数的解决方案
但是有一个问题是,如果我指定这个函数如下:
最后一个 this.id 是未定义的。
在多个组件中使用 debounce 的正确方法是什么,以便函数在每个组件上单独触发?