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

मैं टाइमआउट निष्पादन को कैसे नियंत्रित कर सकता हूं और जावास्क्रिप्ट में शेष समय कैसे निर्धारित कर सकता हूं?

2024-11-09 को प्रकाशित
ब्राउज़ करें:654

How Can I Control Timeout Execution and Determine Remaining Time in JavaScript?

जावास्क्रिप्ट में टाइमआउट को रोकना और फिर से शुरू करना

जावास्क्रिप्ट के साथ काम करते समय, टाइमआउट जैसे अतुल्यकालिक संचालन के प्रवाह को नियंत्रित करना आवश्यक हो सकता है। यहां, हम सक्रिय टाइमआउट को रोकने और फिर से शुरू करने के तरीकों का पता लगाते हैं, साथ ही वर्तमान टाइमआउट पर शेष समय को पुनः प्राप्त करते हैं।

टाइमआउट को रोकना और फिर से शुरू करना

टाइमआउट को रोकने के लिए, आप एक रैपर का उपयोग कर सकते हैं फ़ंक्शन जो window.setTimeout कॉल को इंटरसेप्ट करता है और आवश्यक कार्यक्षमता प्रदान करता है। रैपर फ़ंक्शन, टाइमर, कॉलबैक फ़ंक्शन और देरी को तर्क के रूप में लेता है और शेष समय के रुकने, फिर से शुरू करने और ट्रैकिंग को संभालता है।

var Timer = function(callback, delay) {
    var timerId, start, remaining = delay;

    this.pause = function() {
        window.clearTimeout(timerId);
        timerId = null;
        remaining -= Date.now() - start;
    };

    this.resume = function() {
        if (timerId) {
            return;
        }

        start = Date.now();
        timerId = window.setTimeout(callback, remaining);
    };

    this.resume();
};

इस रैपर का उपयोग करने के लिए, एक टाइमर ऑब्जेक्ट को तुरंत चालू करें और आवश्यकतानुसार इसके पॉज़() और फिर से शुरू() तरीकों को कॉल करें।

शेष समय पुनर्प्राप्त करना

शेष प्राप्त करने के लिए वर्तमान टाइमआउट पर समय, एक तरीका यह है कि टाइमआउट सेट होने पर प्रारंभ समय को संग्रहीत किया जाए और रुकने पर वर्तमान समय और प्रारंभ समय के बीच अंतर की गणना की जाए।

var start = Date.now();
var t = setTimeout("dosomething()", 5000);
var remaining = (start   5000) - Date.now();

हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि यदि टाइमआउट रोक दिया गया है और फिर से शुरू किया गया है, तो यह गणना सटीक नहीं हो सकती है। पहले प्रदान किए गए टाइमर रैपर फ़ंक्शन में, शेष समय को ट्रैक किया जाता है और तदनुसार अद्यतन किया जाता है, जो शेष समय को पुनः प्राप्त करने के लिए अधिक विश्वसनीय तरीका प्रदान करता है।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729595660 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3