Debouncer в Polymer 3.0 - PullRequest
       10

Debouncer в Polymer 3.0

0 голосов
/ 27 сентября 2018

Как правильно написать debouncer в Polymer 3?

Согласно документации

import {microTask} from '@polymer/polymer/lib/utils/async.js';
import {Debouncer} from '@polymer/polymer/lib/utils/debounce.js';
// ...

_debounceWork() {
  this._debounceJob = Debouncer.debounce(this._debounceJob,
      microTask, () => this._doWork());
}

Это хорошо, но мне нужнонастроить некоторые сроки.Например, вот как я это делал в Polymer 1

  this.debounce("scroll",function() {
      this.$$("#scrollThreshold").clearTriggers();
  }.bind(this), 400);

и Polymer 2

this._debouncer = Polymer.Debouncer.debounce(
    this._debouncer, // initially undefined
    Polymer.Async.timeOut.after(400),
    () => {
       // some code
    }
);

, но я не знаю, как установить 400 мс отката в Polymer 3

1 Ответ

0 голосов
/ 28 сентября 2018

Модуль async имеет функцию timeout, но вам необходимо импортировать ее

import {timeOut} from '@polymer/polymer/lib/utils/async.js';

this._debouncer = Debouncer.debounce(
    this._debouncer, // initially undefined
    timeOut.after(400),
    () => {
       // some code
    }
);
...