Я хочу передать component
someFuc
но когда я запускаю someFuc
, его аргумент является событием. Что я делаю неправильно?
window.addEventListener("resize", throttle(someFuc, 66, {'trailing': false}, component), false);
_.throttle
фактически не принимает четыре аргумента. Только три. Поэтому ваш компонент игнорируется. Если вы хотите передать его в качестве аргумента someFuc
, вы можете использовать функцию lodash _.partial
или использовать анонимную функцию. Вот код для обоих:
window.addEventListener("resize", _.throttle(_.partial(someFuc, component), 66, {trailing: false}), false);
ИЛИ ЖЕ
window.addEventListener("resize", _.throttle(() => sumeFuc(component), 66, {trailing: false}), false)
throttle
вызывается с последним набором аргументов, которые она получила. Т.е., если вы вызовете удушенную функцию дважды за короткое время, базовая функция будет вызываться только один раз с аргументами из второго вызова (последний в этом примере).