Создайте функцию для вызова вашего API.В этой функции мы определяем запрос callApiRequest = $.get(...
- даже если это определение переменной, запрос вызывается немедленно, но теперь у нас есть запрос, определенный как переменная.Перед вызовом запроса мы проверяем, определена ли наша переменная typeof(callApiRequest) != 'undefined'
, а также, ожидает ли она suggestCategoryRequest.state() == 'pending'
- если оба значения верны, мы .abort()
запрос, который будет препятствовать выполнению обратного вызова.1006 *
Ваш сервер / API может не поддерживать прерывание запроса (что, если API уже выполнил некоторый код?), Но обратный вызов javascript не сработает.Это полезно, когда, например, вы предоставляете пользователю предложения ввода, такие как ввод хэштегов.
Вы можете расширить эту функцию, добавив определение обратного вызова с ошибкой - что должно произойти, если запрос был прерван.
Общим примером использования этого фрагмента будет текстовый ввод, который запускается при событии keypress
.Вы можете использовать тайм-аут, чтобы предотвратить отправку (некоторых) запросов, которые вам придется отменить .abort()
.