API'nızı aramak için bir işlev oluşturun. Bu işlev içinde isteği tanımlarız callApiRequest = $.get(...
- bu bir değişkenin tanımı olmasına rağmen, istek hemen çağrılır, ancak şimdi istek değişken olarak tanımlanmıştır. İstek çağrılmadan önce değişkenimizin tanımlanıp tanımlanmadığını typeof(callApiRequest) != 'undefined'
ve beklemede olup olmadığını kontrol ederiz suggestCategoryRequest.state() == 'pending'
- her ikisi de doğruysa, .abort()
başarılı geri aramanın çalışmasını önleyecek olan isteği biz yaparız .
// We need to wrap the call in a function
callApi = function () {
//check if request is defined, and status pending
if (typeof(callApiRequest) != 'undefined'
&& suggestCategoryRequest.state() == 'pending') {
//abort request
callApiRequest.abort()
}
//define and make request
callApiRequest = $.get("https://example.com", function (data) {
data = JSON.parse(data); //optional (for JSON data format)
//success callback
});
}
Sunucunuz / API'nız isteği iptal etmeyi desteklemeyebilir (API zaten bir kod çalıştırdıysa?), Ancak javascript geri çağrısı tetiklenmez. Bu, örneğin hashtag girişi gibi bir kullanıcıya giriş önerileri sunarken kullanışlıdır.
Hata geri arama tanımı ekleyerek bu işlevi daha da genişletebilirsiniz; istek iptal edilirse ne olur?
Bu snippet'in ortak kullanım durumu, keypress
olayı başlatan bir metin girişi olacaktır . İptal etmeniz gereken (bazı) isteklerin gönderilmesini önlemek için bir zaman aşımı kullanabilirsiniz .abort()
.