আপনার এপিআই কল করতে একটি ফাংশন তৈরি করুন। এই ফাংশনটির মধ্যে আমরা অনুরোধটিকে সংজ্ঞায়িত করি callApiRequest = $.get(...
- যদিও এটি একটি ভেরিয়েবলের সংজ্ঞা হলেও অনুরোধটি তত্ক্ষণাত ডাকা হয় তবে এখন আমাদের অনুরোধটি একটি ভেরিয়েবল হিসাবে সংজ্ঞায়িত করা হয়েছে। অনুরোধটি আহ্বানের আগে, আমরা আমাদের ভেরিয়েবলটি সংজ্ঞায়িত করা হয়েছে typeof(callApiRequest) != 'undefined'
কিনা তাও পরীক্ষা করে আছি এবং এটি মুলতুবি রয়েছে suggestCategoryRequest.state() == 'pending'
কিনা - যদি উভয়ই সত্য হয়, আমরা .abort()
অনুরোধটি যা সাফল্য কলব্যাকটি চালানো থেকে রোধ করবে।
// 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
});
}
আপনার সার্ভার / এপিআই অনুরোধ বাতিল করতে সমর্থন করতে পারে না (যদি এপিআই ইতিমধ্যে কিছু কোড কার্যকর করে? তবে জাভাস্ক্রিপ্ট কলব্যাক চালু হবে না)। এটি দরকারী যখন উদাহরণস্বরূপ আপনি কোনও ব্যবহারকারীকে ইনপুট পরামর্শ সরবরাহ করছেন যেমন হ্যাশট্যাগস ইনপুট।
ত্রুটি কলব্যাকের সংজ্ঞা যুক্ত করে আপনি এই ফাংশনটি আরও বাড়িয়ে দিতে পারেন - যদি অনুরোধ বাতিল হয়ে যায় তবে কি হবে।
এই স্নিপেটের সাধারণ ব্যবহারের ক্ষেত্রে এটি একটি পাঠ্য ইনপুট হবে যা keypress
ইভেন্টে আগুন দেয় । আপনি একটি টাইমআউট ব্যবহার করতে পারেন, (কিছু) অনুরোধগুলি যা আপনাকে বাতিল করতে হবে তা পাঠানো রোধ করতে .abort()
।