Что такое функция дроссельной заслонки?

Предположим сценарий, в котором нам нужно добавить прослушиватель событий к элементу DOM, скажем, к кнопке. Существует взаимодействие пользователя с кнопкой для запроса на обслуживание, например: - кнопка входа в систему, когда пользователь нажимает кнопку входа и отправляет запрос Ajax для проверки учетных данных, указанных во входных данных. Пользователь может нажать кнопку несколько раз, не дожидаясь, пока API отправит действительный ответ.

Нам нужно исправить это, верно?

Давайте найдем решение для этого в jsfiddle. Я создал элемент DOM для кнопки следующим образом.

В JS я написал функцию более высокого порядка для дросселирования.

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

Функция дросселя не будет выполнять ссылку обратного вызова, если она запущена, а время задержки еще не истекло. По истечении времени задержки он принимает следующую ссылку обратного вызова.

Пожалуйста, найдите рабочий пример здесь!

Итак, мы можем использовать функцию дросселя для решения этой проблемы. Мы также можем решить эту проблему с помощью времени устранения отказов. Мы обсудим это в другом посте.