Buat fungsi untuk memanggil API Anda. Dalam fungsi ini kami mendefinisikan permintaan callApiRequest = $.get(...
- meskipun ini adalah definisi dari suatu variabel, permintaan tersebut dipanggil segera, tetapi sekarang kami memiliki permintaan yang didefinisikan sebagai variabel. Sebelum permintaan dipanggil, kami memeriksa apakah variabel kami ditentukan typeof(callApiRequest) != 'undefined'
dan juga jika sedang menunggu suggestCategoryRequest.state() == 'pending'
- jika keduanya benar, kami .abort()
permintaan yang akan mencegah keberhasilan callback berjalan.
// 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
});
}
Server / API Anda mungkin tidak mendukung membatalkan permintaan (bagaimana jika API sudah mengeksekusi beberapa kode?), Tetapi panggilan balik javascript tidak akan diaktifkan. Ini berguna, ketika misalnya Anda memberikan saran input kepada pengguna, seperti input hashtag.
Anda selanjutnya dapat memperluas fungsi ini dengan menambahkan definisi panggilan balik kesalahan - apa yang harus terjadi jika permintaan dibatalkan.
Kasing penggunaan umum untuk cuplikan ini adalah input teks yang diaktifkan saat keypress
acara. Anda dapat menggunakan batas waktu, untuk mencegah pengiriman (sebagian) permintaan yang harus Anda batalkan .abort()
.