如何使用dojo debounce和throttle?

How to use dojo debounce and throttle?

我需要一个在 Dojo 版本 1.10.4 中使用 debouncethrottle 的示例。

遗憾的是,我在他们的文档中找不到任何示例。

目前我正在尝试对以下事件进行去抖动,但没有成功

... 使用要求 'dojo/on'.

on.debounce(window, 'resize', 2000, function (event) {
    topic.publish('event/resize', event)
}.bind(this));

debounce 不是函数的方法。它本身就是一个函数,returns 另一个函数。你应该用你想要去抖动的函数来调用它,并得到一个去抖动的函数,如果适用的话,它会调用原来的函数。

在你的情况下,你会在 on 回调中调用它:

on(window, 'resize', debounce(function (event) {
    topic.publish('event/resize', event)
}, 2000));