Polymer 聚合物2.0中的去抖器

Polymer 聚合物2.0中的去抖器,polymer,polymer-2.x,Polymer,Polymer 2.x,一个简单的问题,但没有找到关于这个主题的文档:Polymer 2.0中是否有去抖器?如果是,如何使用? this.debounce是1.0中的一个实例方法,但它似乎已经消失了 提前谢谢 Legacy 1.x去抖器 您可以通过Polymer.LegacyElementMixin使用1.x方法: class XFoo extends Polymer.LegacyElementMixin(Polymer.Element) { ... _onClick() { this.debounce

一个简单的问题,但没有找到关于这个主题的文档:Polymer 2.0中是否有去抖器?如果是,如何使用?
this.debounce
是1.0中的一个实例方法,但它似乎已经消失了

提前谢谢

Legacy 1.x去抖器 您可以通过
Polymer.LegacyElementMixin
使用1.x方法:

class XFoo extends Polymer.LegacyElementMixin(Polymer.Element) {
  ...
  _onClick() {
    this.debounce('myDebouncer', callback, 2000);
  }
}

新的2.x去抖器 2.0等效值为,其中:

  • debouncer

    Polymer.Debouncer.Debouncer()
    返回的
    Polymer.Debouncer
    的实例,用于唯一标识去Bouncer作业。这相当于1.x debouncer作业名称字符串。最初可以
    未定义
    /
    来创建新实例

  • asynchmodule

    以下其中一项:

  • cb

    异步模块
    完成时调用的回调

此函数返回一个实例,该实例有一个
cancel()
方法,相当于1.x。该实例应在下一次调用时传递给
debounce()
方法,以使去Bouncing正常工作

用法示例:


@CedricLaberge没问题:)我不确定第一个参数是什么,大多数情况下,您将使用与函数返回的引用相同的引用。这看起来有点骇人听闻。对于任何其他人来说,盲目复制-
Polymer.Async.timeout.after实际上应该是
Polymer.Async.timeout.after
(大写O)。
class XFoo extends Polymer.Element {
  ...
  _onClick() {
    this._debouncer = Polymer.Debouncer.debounce(
       this._debouncer, // initially undefined
       Polymer.Async.timeOut.after(2000),
       callback);
  }
}