जावास्क्रिप्ट कॉलबैक फ़ंक्शन

इस ट्यूटोरियल में, आप उदाहरणों की मदद से जावास्क्रिप्ट कॉलबैक फ़ंक्शन के बारे में जानेंगे।

एक फ़ंक्शन कोड का एक ब्लॉक होता है, जिसे कॉल करने पर एक निश्चित कार्य किया जाता है। उदाहरण के लिए,

 // function function greet(name) ( console.log('Hi' + ' ' + name); ) greet('Peter'); // Hi Peter

उपरोक्त कार्यक्रम में, greet()फ़ंक्शन के तर्क के रूप में एक स्ट्रिंग मान पारित किया जाता है ।

जावास्क्रिप्ट में, आप एक फ़ंक्शन के तर्क के रूप में एक फ़ंक्शन भी पास कर सकते हैं। इस फ़ंक्शन को किसी अन्य फ़ंक्शन के अंदर एक तर्क के रूप में पारित किया जाता है जिसे कॉलबैक फ़ंक्शन कहा जाता है। उदाहरण के लिए,

 // function function greet(name, callback) ( console.log('Hi' + ' ' + name); callback(); ) // callback function function callMe() ( console.log('I am callback function'); ) // passing function as an argument greet('Peter', callMe);

आउटपुट

 हाय पीटर मैं कॉलबैक फ़ंक्शन हूं

उपरोक्त कार्यक्रम में, दो कार्य हैं। greet()फ़ंक्शन को कॉल करते समय , दो तर्क (एक स्ट्रिंग मान और एक फ़ंक्शन) पास किए जाते हैं।

callMe()समारोह एक कॉलबैक फ़ंक्शन है।

कॉलबैक फ़ंक्शन का लाभ

कॉलबैक फ़ंक्शन का उपयोग करने का लाभ यह है कि आप पिछले फ़ंक्शन कॉल के परिणाम की प्रतीक्षा कर सकते हैं और फिर किसी अन्य फ़ंक्शन कॉल को निष्पादित कर सकते हैं।

इस उदाहरण में, हम setTimeout()प्रोग्राम को निष्पादित करने के लिए विधि का उपयोग करने जा रहे हैं, जिसे निष्पादित करने में समय लगता है, जैसे कि सर्वर से आने वाला डेटा।

उदाहरण: सेटटाइमआउट के साथ कार्यक्रम ()

 // program that shows the delay in execution function greet() ( console.log('Hello world'); ) function sayName(name) ( console.log('Hello' + ' ' + name); ) // calling the function setTimeout(greet, 2000); sayName('John');

आउटपुट

 नमस्ते जॉन नमस्ते दुनिया

जैसा कि आप जानते हैं, सेटटाइमआउट () विधि निर्दिष्ट समय के बाद कोड के ब्लॉक को निष्पादित करती है।

यहां, greet()फ़ंक्शन को 2000 मिलीसेकंड ( 2 सेकंड) के बाद कहा जाता है । इस प्रतीक्षा के दौरान, sayName('John');निष्पादित किया जाता है। यही कारण है कि हैलो जॉन हैलो दुनिया से पहले मुद्रित किया जाता है।

उपरोक्त कोड को एसिंक्रोनस रूप से निष्पादित किया जाता है (दूसरा फ़ंक्शन; sayName()पहले फ़ंक्शन greet()के पूरा होने की प्रतीक्षा नहीं करता है )।

उदाहरण: कॉलबैक फ़ंक्शन का उपयोग करना

उपरोक्त उदाहरण में, दूसरा फ़ंक्शन पहले फ़ंक्शन के पूरा होने की प्रतीक्षा नहीं करता है। हालाँकि, यदि आप अगले कथन को निष्पादित करने से पहले पिछले फ़ंक्शन कॉल के परिणाम की प्रतीक्षा करना चाहते हैं, तो आप कॉलबैक फ़ंक्शन का उपयोग कर सकते हैं। उदाहरण के लिए,

 // Callback Function Example function greet(name, myFunction) ( console.log('Hello world'); // callback function // executed only after the greet() is executed myFunction(name); ) // callback function function sayName(name) ( console.log('Hello' + ' ' + name); ) // calling the function after 2 seconds setTimeout(greet, 2000, 'John', sayName);

आउटपुट

 नमस्ते दुनिया हैलो जॉन

उपरोक्त प्रोग्राम में, कोड को सिंक्रोनाइज़ किया जाता है। sayName()कार्य करने के लिए एक तर्क के रूप पारित हो जाता है greet()समारोह।

setTimeout()विधि कार्यान्वित greet()के बाद ही समारोह 2 सेकंड। हालाँकि, sayName()फ़ंक्शन फ़ंक्शन के निष्पादन के लिए प्रतीक्षा greet()करता है।

नोट : कॉलबैक फ़ंक्शन तब सहायक होता है जब आपको उस परिणाम का इंतजार करना पड़ता है जिसमें समय लगता है। उदाहरण के लिए, सर्वर से आने वाला डेटा क्योंकि डेटा पहुंचने में समय लगता है।

दिलचस्प लेख...