Дебоунер в полимер 2.0
Простой вопрос, но нет никакой документации по этому вопросу : есть ли дебаунсер в Polymer 2.0? Если да, то как его можно использовать?
this.debounce
был методом экземпляра в 1.0, но он, похоже, исчез.
Заранее спасибо!
1 ответ:
Наследие 1.X дебоунер
Вы можете использовать 1.x
this.debounce()
метод viaPolymer.LegacyElementMixin
:class XFoo extends Polymer.LegacyElementMixin(Polymer.Element) { ... _onClick() { this.debounce('myDebouncer', callback, 2000); } }
Новый 2.X дебоунер
Эквивалент 2.0 равен
Polymer.Debouncer.debounce(debouncer, asyncModule, cb)
, где:
debouncer
Экземпляр
Polymer.Debouncer
, возвращенный изPolymer.Debouncer.debounce()
, используемый для однозначной идентификации задания разборщика. Это эквивалентно 1.строка имени задания X debouncer. Это может быть изначальноundefined
/null
чтобы создать новый пример.
asyncModule
Одно из следующих:
cb
Обратный вызов для вызова, Когда
asyncModule
завершаетЭта функция возвращает a
Polymer.Debouncer
экземпляр, который имеет методcancel()
, эквивалентный 1.xthis.cancelDebouncer(JOB_NAME)
. Этот экземпляр следует передать вdebounce()
метод на следующем вызове для дебоунтинга будет работать должным образом.пример использования:
class XFoo extends Polymer.Element { ... _onClick() { this._debouncer = Polymer.Debouncer.debounce( this._debouncer, // initially undefined Polymer.Async.timeOut.after(2000), callback); } }