"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पुनरावर्ती `settimeout` बनाम` setInterval`: सटीक समय के लिए कौन सा बेहतर है?

पुनरावर्ती `settimeout` बनाम` setInterval`: सटीक समय के लिए कौन सा बेहतर है?

2025-03-24 को पोस्ट किया गया
ब्राउज़ करें:459

] SetTimeOut

Recursive `setTimeout` vs. `setInterval`: Which is Better for Precise Timing?

के रूप में प्रदान किए गए कोड (विकल्प ए) में प्रदर्शित किया गया, पुनरावर्ती सेटटाइमआउट 1000 मिलीसेकंड के अंतराल पर myTimeOutFunction फ़ंक्शन के निष्पादन को शेड्यूल करता है। एक बार MyTimeOutFunction चलता है, यह SetTimeOut का उपयोग करके खुद को आमंत्रित करता है, जिससे चक्र को अनिश्चित काल तक दोहराता है। इसके बजाय, यह एक अंतर्निहित तंत्र को नियोजित करता है जो आवधिक निष्पादन सुनिश्चित करता है। SetInterval पुनरावर्ती सेटटाइमआउट की तुलना में अधिक सटीक हो जाता है, क्योंकि यह फ़ंक्शन को निष्पादित करने से पहले 1000 मिलीसेकंड का इंतजार करता है, इसके पिछले निष्पादन समय की परवाह किए बिना। ऐसे मामलों में जहां myTimeoutFunction को निष्पादित करने के लिए एक महत्वपूर्ण समय लगता है, यह देरी पर्याप्त हो सकती है। SetInterval के विपरीत, पुनरावर्ती सेटाइमआउट में समवर्ती धारणा नहीं है। इसका मतलब यह है कि यदि MyTimeoutFunction अभी भी निष्पादित कर रहा है जब शेड्यूलर इसे फिर से लागू करने का प्रयास करता है, तो पुनरावर्ती कॉल विफल हो जाएगी। यह सुनिश्चित करता है कि फ़ंक्शन को निर्दिष्ट अंतराल पर कहा जाता है, भले ही चल रहे प्रसंस्करण हो। पुनरावर्ती सेटाइमआउट लचीलापन प्रदान करता है और कस्टम देरी के लिए अनुमति देता है, लेकिन यह कम सटीक हो सकता है और समवर्ती मुद्दों से पीड़ित हो सकता है। SetInterval नियमित अंतराल पर एक फ़ंक्शन के सटीक और सुसंगत निष्पादन के लिए अधिक विश्वसनीय है, लेकिन इसमें निष्पादन समय पर नियंत्रण के समान स्तर का अभाव है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3