सेटटाइमआउट का उपयोग करते समय आपको क्लियर टाइमआउट करना होगा?


85

किसी ने मुझसे कहा कि जब आप उपयोग करते हैं, setTimeoutतो आपको इसे स्पष्ट करना चाहिए clearTimeout। मैं समझ सकता हूं कि समय समाप्त होने से पहले, लेकिन उसके बाद क्यों? या यह असत्य है?

जवाबों:


86

यह सच नहीं है - समाप्त होने के बाद टाइमआउट को मंजूरी देने में कोई बुराई नहीं है, लेकिन यह आवश्यक नहीं है।

प्रति विनिर्देश :

यदि हैंडल WindowOrWorkerGlobalScope ऑब्जेक्ट के सक्रिय टाइमर की सूची में एक प्रविष्टि की पहचान नहीं करता है, जिस पर [ClearTimeout] लागू किया गया था, तो विधि कुछ भी नहीं करती है।

दूसरे शब्दों में, यह एक सेशन नहीं है; कुछ भी नहीं होता है, और कोई त्रुटि नहीं होगी।


50

आपको वास्तव में उपयोग करने की आवश्यकता नहीं है clearTimeout, आप इसका उपयोग केवल तभी करते हैं जब आप ऐसा होने से पहले ही आपके द्वारा निर्धारित टाइमआउट को रद्द करना चाहते हैं।

यह आमतौर पर अधिक उपयोग करने के लिए व्यावहारिक है clearIntervalसाथ setIntervalक्योंकि setIntervalआमतौर पर अनिश्चित काल के लिए चलाता है।


15

clearTimeoutकेवल एक टाइमआउट रद्द करने के लिए आवश्यक है। टाइमआउट की आग के बाद, इसे सुरक्षित रूप से अकेला छोड़ दिया जा सकता है। clearIntervalअनिश्चित काल तक इसे रोकने के लिए आमतौर पर बहुत अधिक आवश्यक है।


10

पूरा होने के बाद इसे खाली करने का कोई कारण नहीं। हो सकता है कि आपका मित्र भ्रमित हो गया हो setInterval।


10

नहीं, setTimeout1 कॉल के बाद चलना बंद हो जाता है। setIntervalहालाँकि रोकने के लिए , आपको उपयोग करना चाहिए clearInterval। यदि आप एक अंतहीन लूप बनाते हैं setTimeoutतो clearTimeoutइस्तेमाल किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.