#15. Функции Debounce и Throttle в JavaScript (пишем с нуля и разбираемся как работают)

Поділитися
Вставка
  • Опубліковано 2 сер 2024
  • В этом видео мы разберемся для чего нужны и как работают функции Debounce и Throttle в JavaScript.
    Мы напишем с нуля обе функции и отобразим результат работы Debounce и Throttle на нашей странице.
    Файлы для работы: t.me/stackdevru/78
    Мои Курсы:
    ​Все мои курсы (+ исходные файлы): stackdev.ru
    JavaScript для начинающих: stackdev.ru/courses/javascript
    Подписывайся на соц сети:
    Telegram: t.me/stackdevru
    VK: vasilymur
    Instagram: / vm_online
    Мой блог о веб-разработке: stackdev.blog

КОМЕНТАРІ • 11

  • @elenaizmaylova9331
    @elenaizmaylova9331 2 місяці тому +1

    Василий, спасибо огромное Вам за объяснения! Всё очень понятно и доступно! Одно из лучших объяснений, которые я смотрела)

  • @POEOneLove
    @POEOneLove 5 місяців тому +1

    Полезное видео про практическое применение замыканий.

  • @atoomotr
    @atoomotr 8 місяців тому +1

    Спасибо!
    Супер презентация материала!

  • @galievramil1169
    @galievramil1169 8 місяців тому +1

    Хороший контент, но стоит упомянуть, что реализация декоратора debounce возможна благодаря замыканию, т.к. айдишник должно быть всегда постоянным,

  • @monsherok
    @monsherok 7 місяців тому

    Омагад, использование замыканий 😄

  • @musicfan507
    @musicfan507 7 місяців тому

    Здравствуйте, я сейчас изучаю реакт, и увидел вашы видео и плейлисты уроков по реакт, но им уже 3 года, стоит ли по ним учиться или информация там уже устарела? Буду благодарен за ответ

  • @user-cv9xy4uu2f
    @user-cv9xy4uu2f 8 місяців тому

    Частая задача на собеседовании

  • @uebyCyka
    @uebyCyka 8 днів тому

    Throttle не будет работать. И не работает. Я проверила. Если закончить писать в тот момент, пока активно isPaused, последние введенные данные так никогда и не будут им обнаружены, потому что все калбэки выполнены, а новых уже никто не посылал.
    Я, конечно, в JS не то что даже плаваю, скорее, чуть ли не тону, но вот мой вариант: запоминать последние введенные данные (например last_args = [...args]) на КАЖДОМ вызове калбэка. А в setTimeout помимо присваивания переменной присобачить вызов callback с как раз таки last_args

  • @user-qi8ep8eu1l
    @user-qi8ep8eu1l 8 місяців тому +1

    функция дебаунс слегонца некорректно реализована. точнее не сама функция, а применение концепции не до конца корректное. корректно это будет работать только в синхронном коде. в асинхронном нет гарантии, что отправленные запросы вернуться в том же порядке.

    • @igork5095
      @igork5095 5 місяців тому +1

      Не совсем понятно о чем вы, Js в принципе синхронный язык, и код здесь синхронный, а отправленные куда то запросы к примеру на сервер )) всегда могут возвращаться не в том же порядке что мы ожидаем. Это же асинхронная операция, для этого существует abortController. Это совсем не проблема функции debounce.

    • @user-qi8ep8eu1l
      @user-qi8ep8eu1l 5 місяців тому

      @@igork5095писать вижу умеешь, а читать ? там же написано - "точнее не сама функция, а применение концепции не до конца корректное".