द्वारा पैरा के साथ सेटटाइमआउट कैसे लिखना है कृपया मुझे बताएं कि कॉफ़ीस्क्रिप्ट में नीचे जावास्क्रिप्ट कैसे लिखें।कॉफ़ीस्क्रिप्ट
setTimeout(function(){
something(param);
}, 1000);
द्वारा पैरा के साथ सेटटाइमआउट कैसे लिखना है कृपया मुझे बताएं कि कॉफ़ीस्क्रिप्ट में नीचे जावास्क्रिप्ट कैसे लिखें।कॉफ़ीस्क्रिप्ट
setTimeout(function(){
something(param);
}, 1000);
मुझे लगता है कि यह कॉलबैक के लिए एक समारोह के लिए अंतिम तर्क के रूप में आने के लिए एक उपयोगी सम्मेलन है। उदाहरण के लिए, यह आमतौर पर Node.js API के साथ मामला है। तो यह है कि मन में साथ:
delay = (ms, func) -> setTimeout func, ms
delay 1000, -> something param
दी, इस हर setTimeout
आप बनाने के लिए एक अतिरिक्त समारोह कॉल की भूमि के ऊपर कहते हैं, लेकिन आज के जेएस दुभाषियों में, प्रदर्शन दोष कमजोर है जब तक कि आप इसे प्रति सेकंड हजारों बार नहीं कर रहे हैं। (और आप प्रति सेकंड हजारों टाइमआउट सेट कर रहे हैं, वैसे भी?)
बेशक, एक और अधिक सरल दृष्टिकोण है कि आप आसानी से अपने कॉलबैक को नाम दें, जो कि वैसे भी अधिक पठनीय कोड उत्पन्न करता है (jashkenas इसका एक बड़ा प्रशंसक है मुहावरा):
callback = -> something param
setTimeout callback, 1000
बढ़िया जब तक आपको नेस्टेड कॉलबैक की आवश्यकता नहीं होती –
अच्छा जवाब !!!! –
यह एक बराबर अनुवाद (धन्यवाद @Joel मुलर) में परिणाम होगा:
setTimeout (-> something param), 1000
ध्यान दें कि यह एक सटीक अनुवाद क्योंकि गुमनाम समारोह something(param)
बुला के बजाय का परिणाम देता है नहीं है अपरिभाषित, जैसा कि आपके स्निपेट में है।
पर बहुत सारे माता-पिता/अर्धविरामों को .call ('हैलो') कैसे जोड़ सकते हैं! यह कॉफीस्क्रिप्ट है, अतिरिक्त माता-पिता से छुटकारा पाने का आधा बिंदु है। 'setTimeout (() -> कुछ param param), 1000' –
@ जोएल म्यूएलर: धन्यवाद, मैंने अपना जवाब अपडेट कर लिया है। – maerics
निकोलस एक अच्छा मुद्दा बनाता है कि खाली माता-पिता भी वैकल्पिक हैं। –
setTimeout (->
something param
), 1000
कोष्ठक वैकल्पिक हैं, लेकिन एक अल्पविराम के साथ लाइन शुरू करना मेरे लिए गन्दा लग रहा था।
setTimeout ->
something param
, 1000
यह सबसे अच्छा है यदि आप सिर्फ एक अनाम फ़ंक्शन का उपयोग करना चाहते हैं। –
भी नामित फ़ंक्शन के लिए, setTimeout नाम Func, 5000 –
ध्यान दें कि व्हाइटस्पेस महत्वपूर्ण है। कॉल बिल्कुल ऊपर की तरह दूरी पर होना चाहिए। यदि 'सेटमेटआउट' जैसी ही पंक्ति पर 'कुछ पैरामीटर' है, तो इसे अलग-अलग पार्स किया जाता है। – henrebotha
एक और विकल्प:
setTimeout(
-> something param
1000
)
मैं इस सबसे अच्छा तरीका मिल जाए, ऐसा ही करने
setTimeout (-> alert "hi"), 1000
मुझे यह इनलाइन स्क्रिप्ट पसंद है –
मैंने सवाल उठाया, यह नहीं कि यह वही था जो मैं खोज रहा था लेकिन उत्तर मुझे सही दिशा में ले जाते हैं। – MikeScott8
यह एक अच्छा सवाल है; यह उन कुछ लोगों में से एक है जो मुझे कॉफ़ीस्क्रिप्ट की सीमाओं की खोज करने में मदद कर रहे हैं (जैसा कि अब है)। – thure
हम इस – Atul