_.debounce проверить, если ожидание отложено - PullRequest
0 голосов
/ 28 мая 2018

Есть ли способ проверить, ожидает ли функция debounce?

С помощью анализа источников я нашел только два метода: flush и cancel.

1 Ответ

0 голосов
/ 12 июня 2018

Обновление 1

debounce s pending метод доступен только в master ветви lodash.Другие ветви (каждый пакет имеет свою собственную ветку - es для lodash-es и т. Д.) Не имеют этой ревизии debounce, поэтому кажется, что эта функция еще не выпущена.Пример - ветка npm

Я попытался использовать именно эту ревизию, и метод pending работает как положено.Вот мой packages.json:

{
  "dependencies": {
    "lodash": "git://github.com/lodash/lodash.git#51c562256bc2a021eee05699444ce5a4db2df698"
  }
}

И index.js:

const fn = debounce(() => console.log('BOOM!'), 1000)
fn()
console.log(fn.pending())

Выход >node ./index.js:

true
BOOM!

Вторая строкафактический журнал отклоненной функции появляется после тайм-аута.Стоит отметить, что источники находятся в модулях ES, поэтому вы должны перенести их, или mjs-ify, или переписать, чтобы требовать.

Начальный ответ

Существует метод pending дляэтот.И debounce, и throttle должны иметь такой метод. Источники для debounce

Но я не мог использовать его, как описано!: P

Пока что мы управляем таким состоянием вручную, просто какой-то логический флаг где-то рядом.

...