$.get
जो एक timeout
विकल्प है, जो कब तक स्क्रिप्ट कॉलबैक रद्द करने से पहले इंतजार करेंगे निर्दिष्ट करेगा है $.ajax
के लिए सिर्फ एक अच्छा आशुलिपि है।
आप वैश्विक डिफ़ॉल्ट $.ajaxSetup({timeout: 9001})
का उपयोग कर, जो आप $.get
का उपयोग जारी करने की अनुमति देगा ओवरराइड कर सकते हैं।
आप बस अनुरोध रद्द किए बिना उपयोगकर्ता को सचेत करना चाहते हैं, $.ajax
उपयोग करते हैं, एक समय समाप्ति सेट है, और complete
कॉलबैक में टाइमआउट रद्द कर दें।
यहां कुछ उदाहरण स्टार्टर कोड है, मैं इसके बारे में किसी भी परीक्षण नहीं किया है, और यह शायद काम का एक सा के साथ एक प्लगइन में तब्दील किया जा सकता है:
(function(){
var t, delay;
delay = 1000;
$('.delay-message').ajaxStart(function() {
var $this;
$this = $(this);
t = setTimeout(function() {
$this.trigger('slowajax');
}, delay);
}).ajaxComplete(function() {
if (t) {
clearTimeout(t);
}
});
}());
$('.delay-message').on('slowajax', function() {
$(this).show().delay(2000).fadeOut(1000);
});
तुम्हारा मतलब आप एक निश्चित विलंब के बाद एक समारोह को गति प्रदान करना चाहते हैं, या आप एक निश्चित विलंब के बाद '$ .get' अनुरोध को रद्द करना चाहते हैं? अगर यह सिर्फ एक फ़ंक्शन ट्रिगर कर रहा है, तो आप 'setTimeout' का उपयोग कर सकते हैं। – zzzzBov