जैसा कि अन्य ने उल्लेख किया है, setTimeout
धागा नहीं फैलता है। आप सभी टाइमआउट आईडी (ताकि आप उन्हें, उदाहरण के लिए रद्द कर सकते हैं) की एक सूची चाहते हैं तो नीचे देखें:
मुझे नहीं लगता कि आप कोड जब बदले बिना सभी टाइमआउट आईडी की एक सूची प्राप्त कर सकते हैं वे कहते हैं। setTimeout
एक आईडी देता है - और यदि आप इसे अनदेखा करते हैं, तो यह आपकी जावास्क्रिप्ट के लिए पहुंच योग्य नहीं है। (जाहिर है दुभाषिया यह तक पहुँच गया है, लेकिन अपने कोड नहीं करता है।)
आप कोड को बदल सकता है, तो आप ऐसा कर सकते हैं:
var timeoutId = [];
timeoutId.push(setTimeout(myfunc, 100));
... सुनिश्चित करें कि timeoutId
वैश्विक क्षेत्र में घोषित किया जाता है बनाना (शायद window.timeoutId = []
का उपयोग करके)।
बस मेरे सिर के ऊपर से, लेकिन reimplement को setTimeout
आप इस तरह कुछ करने के लिए चाहते हैं:
var oldSetTimeout = setTimeout;
setTimeout = function (func, delay) {
timeoutId.push(oldSetTimeout(func, delay));
}
यह परीक्षण नहीं किया है, लेकिन यह आप एक प्रारंभिक बिंदु देता है। अच्छा विचार, भेड़िया!
संपादित करें:aularon's answer उपर्युक्त विचार का अधिक पूर्ण कार्यान्वयन देता है।
माइक, कृपया आप अधिक जानकारी जोड़ सकते हैं? –
क्या आप सिर्फ टाइमआउट आईडी की एक सूची चाहते हैं? जावास्क्रिप्ट धागे का उपयोग नहीं करता है ... – brad