@nomta

Почему не работает lodash throttle?

Всем доброго времени!
Подскажите, с чем может быть связана проблема? При вызове функции, обернутой в _.throttle, возникает ошибка:

TypeError: throttled is not a function


Код:
import throttle from 'lodash'

const throttled = throttle(() => console.log('throttle'), 1000)
throttled()


В документации ясно сказано, что должна быть функция:
Returns
(Function): Returns the new throttled function.


Смотрю через console.log, что вернула throttle:
console.log(throttled)

Результат: объект-wrapper, но совершенно непонятно, что с ним делать:
63a02944a1626001126050.png

Что тут не так?
  • Вопрос задан
  • 209 просмотров
Решения вопроса 2
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Попробуй вот так:

import _ from 'lodash';

const throttled = _.throttle(() => console.log('throttle'), 1000);

Так вызывается. Судя по импорту, ты ее по умолчанию импортируешь без { throttle }
Ответ написан
Комментировать
victormayorov
@victormayorov
Frontend разработчик
Неверный импорт.
import throttle from 'lodash'
Тут вы импортируете всю библиотеку под именем throttle и далее для вызова нужной функции нужно писать следующее: throttle.throttle или throttle.camelCase

для импорта конкретной функции/модуля необходимо указывать в фигурных скобках {}
например: import { throttle } from 'lodash' или import { camelCase } from 'lodash'

import {throttle} from 'lodash'

const throttled = throttle(() => console.log('throttle'), 1000)
throttled()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы