Может кто-нибудь объяснить мне поток функций в этом примере? - PullRequest
0 голосов
/ 19 апреля 2020

Multiple callbacks

Я посмотрел на приведенный выше фрагмент кода и изо всех сил пытался найти решения и разместил его здесь после того, как выложился полностью. Это мое текущее понимание кода: debounce () вызывается, когда есть входные данные, и onInput () передается ему как обратный вызов, а функция debounce возвращает другую функцию, возвращаемая функция принимает аргумент, который является переданной функцией. в debounce (), он же onInput (), я застрял @ fun c .apply (null, args); 1.Не весело c и спорит одно и то же ???? Кто-то, пожалуйста, объясните, шаг за шагом, возможно ..

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

debouce вызывается только один раз при первом запуске, он создает и возвращает новую анонимную функцию - фактический обработчик события.

Когда событие ввода инициируется, ранее созданная функция выполняется и будет позвоните func (onInput) через 500 мс. func передается для отладки только один раз, но args - это фактические аргументы входного события, которые будут переданы func через apply . В этом случае apply в основном совпадает с func(...args);, поэтому func (он же onInput) будет вызываться с фактическими аргументами входного события через 500 мс.

0 голосов
/ 19 апреля 2020

Это пример debounce.

  • Подавление - это практика, которая используется для повышения производительности браузера.
  • Практика программирования, которая гарантирует, что трудоемкие задачи не запускаются так часто.
  • Он используется для ограничения скорости, с которой вызывается функция.

Я объяснил debounce с примером, пожалуйста, проверьте ссылку debounce

...