Callback function in JavaScript in Hindi -कॉलबैक फ़ंक्शन क्या है ?

कॉलबैक फ़ंक्शन का परिचय | Introduction of Callback function in Hindi

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

कॉलबैक फ़ंक्शन क्या है ? | What is Callback function in JavaScript in Hindi

कॉलबैक फ़ंक्शन जावास्क्रिप्ट में एक फ़ंक्शन है जिसे आप एक अन्य फ़ंक्शन को पारमीटर के रूप में पास कर सकते हैं और उसके बाद, जब निर्दिष्ट (Specified) घटना होती है, तो इस कॉलबैक फ़ंक्शन को allot किया जाता है। इसे विशेषकर असिंक्रोनस (asynchronous) जावास्क्रिप्ट में इस्तेमाल किया जाता है जब कोड एक घटना के समाप्त होने का इंतजार करता है, जैसे कि एक फ़ाइल डाउनलोड होने पर या एक नेटवर्क कॉल के समाप्त होने पर।

कई JavaScript libraries और Framework ने कॉलबैक्स का व्यापक इस्तेमाल किया है, जैसे कि एजाक्स (Ajax) कॉल्स, एवं Event Handling। ये Callbacks इंजन को बताते हैं कि कोड कैसे व्यवहार करना चाहिए जब कोई घटना होती है।

Example of Callback function –

 function deliveryBoy(customer) {
  console.log("sir you oreder is ready");
  customer();
 }

 function customer() {
  setTimeout(() => {
    console.log("ok I will coming soon");
        }, 2000);
      }

 deliveryBoy(customer);

Output: sir you oreder is ready

After 2 seconds: ok I will coming soon

इस उदाहरण में, यहां एक Callback function है जिसका नाम deliveryBoy है और इसका उपयोग एक विशिष्ट कार्य को पूरा करने के बाद एक अन्य कार्य को कॉल करने के लिए किया जाता है। इसमें दो फ़ंक्शन्स हैं: deliveryBoy और customer  यहां deliveryBoy फ़ंक्शन को एक parameter  के रूप में customer पास किया गया है जो एक और फ़ंक्शन है।

जब deliveryBoy फ़ंक्शन को कॉल किया जाता है, तो यह “sir, your order is ready” या “सर, आपका आर्डर तैयार है” का संदेश print करता है और फिर customer फ़ंक्शन को कॉल करता है।

customer फ़ंक्शन में एक setTimeout है, जो 2000 मिलीसेकंड (2 सेकंड) के बाद एक और संदेश “ok, I will be coming soon” या “ठीक है, मैं जल्दी ही आ रहा हूँ” को print करता है। इससे यह सिमुलेट होता है कि डिलीवरी बॉय ने आपको ऑर्डर तैयार कर दिया है और ग्राहक ने उसे स्वीकार किया है, और फिर ग्राहक को बताया जाता है कि वह जल्दी ही आ रहा है।

कॉलबैक फ़ंक्शन की आवश्यकता क्यों है | Needs of Callback function in Hindi

JavaScript में कॉलबैक फ़ंक्शन की आवश्यकता कई पहलुओं से जुड़ी होती है। यहां कुछ मुख्य कारणों की चर्चा की गई है:

  • जावास्क्रिप्ट एक asynchronous language है, जिससे यह web pages और एप्लिकेशन्स में एक समय में कई कार्यों को समर्थित कर सकता है। कॉलबैक फ़ंक्शन asynchronous  Operation को समर्थन करने में मदद करता है जब आप किसी कार्य को शुरू करते हैं और इंतजार करते हैं कि वह पूरा हो जाए।
  • कॉलबैक्स का इस्तेमाल Event Handling में किया जाता है, जिससे users के कार्रवाईयों का जवाब दिया जा सकता है। यदि कोई बटन दबाया जाता है या कोई इवेंट होता है, तो callback फ़ंक्शन को चलाकर उचित प्रतिक्रिया दी जा सकती है।
  • जब आप external sources से डेटा लोड करते हैं, वहां इंतजार करने के लिए कॉलबैक्स का उपयोग किया जा सकता है। यह डेटा पूर्ण होने पर कोड को चलाने के लिए होता है और users को smooth अनुभव प्रदान करता है।
  • कॉलबैक्स की मदद से आप एक फ़ंक्शन को दूसरे फ़ंक्शन को पास कर सकते हैं, जिससे एक कार्रवाई का विकल्प दिया जा सकता है।
  • कॉलबैक फ़ंक्शनें कोड को अच्छे से संगठित रखने में मदद कर सकती हैं, क्योंकि वे विशिष्ट कार्रवाईयों को विभिन्न स्थानों पर स्थापित करने की अनुमति देती हैं।

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

कॉलबैक फ़ंक्शन के लाभ | Advantages of Callback function in Hindi

JavaScript में कॉलबैक फ़ंक्शन का उपयोग करने के कई लाभ हैं। यहां कुछ मुख्य लाभों की चर्चा की गई है:

  •  कॉलबैक्स फ़ंक्शनें Flexibility प्रदान करती हैं, जिससे एक कार्य को एक समय पर और अन्य कार्य को दूसरे समय पर चलाया जा सकता है। इससे कोड को सुरक्षित रखा जा सकता है और ऐप्लिकेशन का बेहतर Manage हो सकता है।
  • कॉलबैक्स का उपयोग कोड की पुनःउपयोग करने में मदद कर सकता है, क्योंकि एक ही Callback function को विभिन्न स्थानों पर उपयोग किया जा सकता है।
  • कॉलबैक्स से कोड को स्पष्ट रूप से लिखा जा सकता है, क्योंकि वे किसी विशिष्ट क्रिया को कैसे और कब execute करेंगे यह स्पष्ट रूप से बताते हैं।
  •  कॉलबैक फ़ंक्शनें कोड की संरचना को बेहतर बना सकती हैं, क्योंकि वे किसी specific task को execute करने के लिए विभिन्न स्थानों पर पुनर्वाचन की जा सकती हैं।

इन लाभों के कारण, कॉलबैक फ़ंक्शनें जावास्क्रिप्ट में एक महत्वपूर्ण programming concept हैं और विभिन्न तरीकों से उन्हें Application Development में उपयोगी साबित किया जा सकता है।

कॉलबैक हेल क्या है ? | What is Callback Hell in JavaScript in Hindi

Callback Hell  जावास्क्रिप्ट में एक स्थिति है जब हम बहुत सारे nested (एक के अंदर एक) कॉलबैक फ़ंक्शन्स का उपयोग करते हैं और कोड एक तरह से पेशेवर नहीं लगता है। इसे “कॉलबैक हेल” कहा जाता है क्योंकि इससे कोड को समझना और परिभाषित करना कठिन हो जाता है, और यह एक हेल की भांति लगने लगता है।

इसका मुख्य कारण होता है कि जब हम बहुत सारे asynchronous कार्यों को एक साथ चलाते हैं, तो उनकी nested structure से कोड का उपयोग करते हैं। जब ऐसा होता है, तो हर एक नये कॉलबैक कोड ब्लॉक एक और स्तर पर जोड़ा जाता है, जिससे कोड लंबा और कठिन हो जाता है।

एक उदाहरण के रूप में, यदि हम एक फ़ाइल से डेटा पढ़ना चाहते हैं, और उस डेटा के आधार पर एक अन्य फ़ाइल से और डेटा पढ़ना चाहते हैं, और इसके बाद भी कुछ अन्य कार्यों को पूरा करना है, तो ऐसे में हम कई स्तरों के nested callbacks  का सामना कर सकते हैं जिससे कोड का खराब हो जाता है।

इससे बचने के लिए, Promises और async/await  और जैसी तकनीकें हैं जो कोड को अधिक सुव्यवस्थित और पढ़ने में सहारा प्रदान कर सकती हैं।

Example of Callback Hell-

Callback hell, या Pyramid of Doom, उस स्थिति को कहा जाता है जब हम बहुत सारे nested (एक के अंदर एक) कॉलबैक फ़ंक्शन्स का उपयोग करते हैं और कोड अधिक प्लेन नहीं रहता है। यह उदाहरण एक callback hell की स्थिति को दिखाता है:

// एक callback hell का उदाहरण

function fetchData(callback) {
  setTimeout(function() {
    console.log("Data fetched successfully!");
    callback();
  }, 1000);
}

function processData(callback) {
  setTimeout(function() {
    console.log("Data processed successfully!");
    callback();
  }, 1000);
}

function saveData(callback) {
  setTimeout(function() {
    console.log("Data saved successfully!");
    callback();
  }, 1000);
}

// कॉलबैक हेल
fetchData(function() {
  processData(function() {
    saveData(function() {
      console.log("All operations completed!");
    });
  });
});

यहां, fetchData, processData , और saveData फ़ंक्शनें एक दूसरे के भीतर नेस्ट हैं और एक के बाद एक कॉलबैक को चलाने के लिए इंतजार करते हैं। इसके कारण, कोड की स्थिति देखते हुए यह callback hell कहलाता है।

कॉलबैक हेल के नुकसान | Disadvantages of Callback hell in Hindi

Callback hell का उपयोग करने के कई हानिकारक पहलुओं हो सकते हैं, जिन्हें सरलता से समझाया जा सकता है:

  • Callback hell से उत्पन्न होने वाली nested structure के कारण, कोड को पढ़ाई करना कठिन हो जाता है। जिससे उसे समझना और अनुभव करना मुश्किल होता है।
  •  Callback hell के कारण, Bugging और Debugging में समस्याएं खोजना भी कठिन हो सकता है। कोड की चारों ओर घुमकर विशेष कॉड ब्लॉक खोजना मुश्किल हो सकता है।
  • Callback hell से पैदा होने वाली जटिलता के कारण, कोड को बदलना और नए विशेषताओं को जोड़ना कठिन हो सकता है। नए डेवेलपर्स को कोड को समझने में और Maintain करने में कठिनाई हो सकती है।
  • Callback hell से, खासकर asynchronous कार्यों के लिए, errors को पहचानना और संसूचित करना कठिन हो सकता है। एक फ़ंक्शन से दूसरे की तरफ Errors को पास करना मुश्किल हो सकता है।
  • बहुत सारे nested कॉलबैक्स के कारण, कोड को पढ़ना और समझना एक छूट सकता है, जिससे कोड की readability कम हो सकती है।

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

Conclusion :

समापन बधाई! Callback Function जावास्क्रिप्ट में एक महत्वपूर्ण और उपयोगी कॉन्सेप्ट हैं। इस पोस्ट में, हमने कॉलबैक फ़ंक्शन के उपयोग, और उनके लाभों के बारे में जानकारी प्राप्त की। आशा है कि आपको इस पोस्ट से अच्छी जानकारी मिली होगी। अगर आपके पास इस विषय पर कोई प्रश्न या सुझाव हैं, तो कृपया हमें नीचे comment करें। धन्यवाद!

Read More JavaScript Concepts – 

Leave a Comment