Дебоунер в полимер 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); } }