问题标签 [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.

0 投票
2 回答
209 浏览

javascript - 如何通过 Javascript 中的主题更新传递事件?

我们一直面临将事件从 html 传递到需要它的 Javascript 方法之一的问题。

现在调用这个 watchChangesInSearchTerm 的 HTML 如下

现在来自 HTML 的代码调用 watchChangesInSearchTerm方法,但它只将 searchString 传递到参数中。watchChangesInSearchTerm依次对模型进行去抖动并调用getDetails方法。此方法也被许多其他用例调用,因此需要触发它的事件。

我们如何将事件传递给getDetails方法?

0 投票
1 回答
9873 浏览

javascript - 多次下划线去抖动调用

调用_.debounce()会导致函数在延迟后执行多次而不是一次。如何让函数在_.debounce()指定的延迟后执行一次?我的用例是在用户停止输入后执行 AJAX 请求。

例如,输入输入将导致 1 秒后控制台中出现一条消息。在我的示例中,您将看到出现多条消息(您键入的每个字母都有一条消息)。我将如何修改我的代码以只看到一条消息?

https://plnkr.co/edit/3dGm55ZFqWe4V59HLgoC

0 投票
1 回答
688 浏览

javascript - 如何在范围输入上限制 requestFrameAnimation?

我有一个简单的范围输入,我想每隔几秒返回一次值。

我创建了两个回调函数funcstep. 我想创建另一个回调函数,每秒钟x从内部调用一次rangeListener

有任何想法吗?

编辑:根据评论进行编辑。

0 投票
0 回答
18 浏览

jquery - 将 jquery onwindow 调整高度调整到表格转换为 Angular 4

我希望一个表格尽可能多地占据屏幕的下部,并且它始终有一个水平和垂直滚动条,因此我在浏览器调整大小时运行了一个小脚本(需要它在页面初始化时也运行)这基本上根据屏幕中的可用空间在表格的父 div 上设置高度。这很棒。两个滚动条始终显示。

现在我需要将它添加到 Angular 4 项目组件中。不知道从哪里开始。还要考虑如何添加一些 Debounce 功能(以及让它在初始化时运行以及如前所述调整大小)。

0 投票
1 回答
368 浏览

angular - Angular materialAutoComplete 现场服务调用拉取数据的速度比用户输入的慢

我正在使用 Angular materialAutoComplete 字段,其中服务调用会在用户键入数据时提取数据。由于用户键入的速度比服务提取数据的速度快,因此 autocompleteSelection 面板中实际显示的内容没有同步。如何在 materialAutoComplete 中实现完美的数据。如何匹配/克服用户在字段中绑定的速度以及从服务中获取的输出以显示在 autocompletePanel 中?

提前致谢。

我尝试使用switchMap更改filteredContact,请检查并告诉我为什么在语句map(result => result.contacts)中的result.contacts处出现错误

0 投票
2 回答
410 浏览

angularjs - AngularJS - Typeahead 异步数据

我正在使用带有anguarJS的Typeahead引导程序从rails api中获取数据,问题是每次我在输入中键入一个字母时请求都会获取数据,我希望执行并减少一点请求的数量并将其反跳到在键入的内容和检索到的数据之间进行匹配。

这是控制器:

这是haml部分:

在 ui-bootstrap doc 示例版本 0.12.1中,异步加载是通过 typeahead="address for address in getLocation($viewVlue) 触发的,但他们没有在模型上使用观察者。他们的 getLocations 方法是我的 getSpecificationTemplatesNames 方法。

有人可以帮助执行此操作并与我一起转换代码并使用coffeescript正确使用typeahead-wait-ms选项!

0 投票
1 回答
57 浏览

javascript - 如何在 CanJS DefineMap 视图模型方法中使用 debounce 功能?

我正在尝试将 lodash_.debounce函数用于视图模型方法,但即使我尝试在该方法中执行但没有成功canjs DefineMap,这似乎也很棘手:thisinit

任何帮助表示赞赏!

0 投票
0 回答
48 浏览

javascript - 去抖功能不会减少繁重计算的卡顿

我有一些滑块,当改变时会运行相当繁重的计算功能。这会导致在拖动滑块时出现一些严重的卡顿,以及总体上糟糕的体验。

所以我的想法是使用去抖动,这样如果最后一次计算还没有完成,它将被丢弃,并开始一个具有最新输入值的新计算。

问题是我的 debounce 函数只有在计算时间少于动画帧请求时才有效,而且我不知道如果在设置下一个值时它没有完成,我将如何使它取消当前正在运行的操作。

0 投票
0 回答
28 浏览

html - 附加的 IE 额外 div 不是我的代码的一部分

我在我的 IE 浏览器网站上遇到了一个奇怪的问题。一个额外的 div 被附加到我的 DOM 并且不是我的代码库的一部分。

这不会发生在 firefox、chrome 和 safari 上。

下面是在 IE(EDGE) 上的 DOM 中附加的额外 div

有没有人遇到过这个问题?

刚刚发现这个 div 是使用 polyfill 创建的,代码如下

现在在窗口调整大小时,我有一个事件调整大小,它使用去抖动来保持回调的执行。请参考以下代码

0 投票
2 回答
268 浏览

javascript - 从聚合物属性观察者去抖动似乎失败了

如果我通过单击按钮调用 Polymer debouncer,它可以完美运行。我在不到 2 秒的时间内点击了 5 次,只打印一个时间戳:

myProofOfConcept(){ this.__debouncer = Polymer.Debouncer.debounce( .__debouncer, Polymer.Async.timeOut.after(2000), () => { console.log("HEY " + Date.now()); }); }

但是,如果我从 Polymer 属性更改观察者调用完全相同的方法,它将等待所需的 2 秒超时,然后控制台打印观察者调用它的次数,即使相隔仅 1 毫秒。

是否有一些我不知道的外部因素导致了这种行为差异?