मुझे लगता है कि तुम क्या एक टाइमआउट तक कोड के निष्पादन को निलंबित करने का एक तरीका है। कई शौकिया प्रोग्रामर ऐसे निर्माण की कामना करते हैं, लेकिन यह जावास्क्रिप्ट में मौजूद नहीं है। इसकी आवश्यकता नहीं है। जावास्क्रिप्ट setTimeout
और setInterval
में सभी उद्देश्यों के लिए पूर्ण उम्मीदवार समाधान हैं।
हालांकि, जावास्क्रिप्ट एक शक्तिशाली भाषा है। आप इस मुद्दे को हल करने के लिए अपना खुद का निर्माण कर सकते हैं। नील मिक्स के blog post पर एक नज़र डालें। अपने दृष्टिकोण के साथ आप एक नींद समारोह जो निम्नलिखित लाइनों के साथ इस्तेमाल किया जा सकता बना सकते हैं (ध्यान दें कि वर्तमान में केवल फ़ायरफ़ॉक्स जावास्क्रिप्ट 1.7 का समर्थन करता है):
function mainGeneratorFunction() {
functionToRunFirst();
yield sleep(2000);
//rest of the code
}
हालांकि, के लिए अन्य ब्राउज़रों निराशा नहीं है। आप XHR Sleeping
के नाम से जाना जाने वाला हैक का उपयोग कर सकते हैं। इस दृष्टिकोण में आप बस एक सिंक्रोनस XMLHttpRequest
का उपयोग सर्वर साइड स्क्रिप्ट को php जैसे कॉल करने के लिए करते हैं, जो तब निर्दिष्ट समय के लिए सोता है और जागने के बाद लौटाता है।
function sleep(microseconds) {
var request = new XMLHttpRequest();
request.open("GET", "sleep.php?time=" + microseconds, false);
request.send();
}
functionToRunFirst();
sleep(2000000);
//rest of the code
php नींद समारोह इस प्रकार है:: जावास्क्रिप्ट कोड इस प्रकार है
<?php
usleep($_GET["time"]);
?>
स्रोत
2011-11-15 09:57:34
क्या आप कृपया अपने कोड की कुछ पंक्तियां दे सकते हैं? मुझे लगता है कि आप ढूंढ रहे हैं। डेले() लेकिन अभी के लिए निश्चित नहीं है। –
ठीक है, मुझे लगता है कि आपको कुछ और करने से पहले 2s इंतजार करना होगा। अपने फ़ंक्शन को निष्पादित करने के बाद, उस समय के लिए setTimeout() का उपयोग करें ;-) –
लगता है कि आप कॉलिंग फ़ंक्शन पर वापस आने से पहले 2s के लिए प्रतीक्षा करना चाहते हैं। यदि हां, तो उपयोग करने से पहले सेटटाइमआउट() – Rohan