पाठ 31 / 38

कॉलबैक और कॉलबैक हेल

असिंक्रोनस काम संभालने का मूल तरीका, और इसकी कमी।

कॉलबैक क्या है

कॉलबैक एक फ़ंक्शन है जो किसी दूसरे फ़ंक्शन में भेजा जाता है, ताकि कोई काम पूरा होने पर वह चले।

function fetchData(callback) {
  setTimeout(() => callback("data loaded"), 1000);
}
fetchData((result) => console.log(result));

कॉलबैक हेल

असिंक्रोनस चरणों को एक-दूसरे के कॉलबैक में नेस्ट करने से जल्दी ही पढ़ने में मुश्किल पिरामिड बन जाता है।

getUser(1, (user) => {
  getPosts(user.id, (posts) => {
    getComments(posts[0].id, (comments) => {
      console.log(comments);
    });
  });
});

यह समस्या क्यों है

गहराई से नेस्टेड कॉलबैक पढ़ने और उनमें त्रुटियाँ संभालने में मुश्किल होते हैं — इसी पिरामिड आकार को ठीक करने के लिए Promise बनाए गए।