जावास्क्रिप्ट में कॉलबैक के माध्यम से अतुल्यकालिक परिणाम पास करना
अब मान लीजिए कि अतुल्यकालिक ऑपरेशन अपने पूरा होने के बाद कंसोल में कुछ भी आउटपुट नहीं करता है, बल्कि कोई परिणाम प्राप्त करता है। मान लीजिए कि यह डेटा के साथ एक सरणी है, जो उदाहरण के लिए, हो सकती है AJAX के माध्यम से प्राप्त किया गया हो। लेकिन जब से हम AJAX के साथ अभी तक काम करना नहीं जानते हैं, तो बस इसे प्राप्त करने का अनुकरण करते हैं:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // परिणाम के साथ सरणी
}, 3000);
}
आइए ऐसा व्यवस्थित करें कि परिणाम वाली सरणी पास की जाए कॉलबैक पैरामीटर में:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // परिणाम को पैरामीटर के रूप में पास करें
}, 3000);
}
अब, फ़ंक्शन कॉल में कॉलबैक पास करते समय
make हम इसमें एक पैरामीटर लिख सकते हैं
- और इस पैरामीटर में अतुल्यकालिक का परिणाम आ जाएगा
ऑपरेशन:
make(function(res) {
console.log(res); // हमारी सरणी
});
कॉलबैक कोड को इस तरह से पूरा करें कि वह पा सके परिणाम सरणी के तत्वों का योग।