सीधे नहीं, लेकिन आप उस कार्यक्षमता को देने के लिए एक रैपर ऑब्जेक्ट बना सकते हैं।
function Timeout(fn, interval) {
var id = setTimeout(fn, interval);
this.cleared = false;
this.clear = function() {
this.cleared = true;
clearTimeout(id);
};
}
तो फिर तुम जैसे कुछ कर सकते हैं:: एक किसी न किसी तरह कार्यान्वयन इसलिए की तरह है
var t = new Timeout(function() {
alert('this is a test');
}, 5000);
console.log(t.cleared); // false
t.clear();
console.log(t.cleared); // true
मेरा पहला विचार setTimeout
और clearTimeout
नए कार्यों (एक बंद में अपने पुराने मूल्य भंडारण) के साथ बदलने के लिए किया गया है कि उनके तर्कों को संशोधित किया, लेकिन फिर मुझे एहसास हुआ कि setTimeout
एक संख्या देता है, जो एक आदिम है (और इस प्रकार मूल्य से पारित)। मुझे लगा कि अगर मैं गैर-प्राइमेटिव्स लौटने शुरू कर रहा था, तो मैं एक रैपर ऑब्जेक्ट भी बना सकता हूं, जो अधिक लचीलापन की अनुमति देगा। हालांकि, यह विधि कुछ भी हो सकती है जो आप चाहते हैं - यदि हां, तो यदि आप जाने के लिए एक उदाहरण की आवश्यकता है तो मैं उचित कोड प्रदान कर सकता हूं।
उम्मीद है कि इससे मदद मिलती है।
भी देखें http://stackoverflow.com/questions/4021374/how-to-know-if-a-timer-is-cleared-or-timed -आउट-इन-जावास्क्रिप्ट – goodeye