Node.js में, एसिंक्रोनस कॉलबैक से निपटते समय, प्लेटफ़ॉर्म की मूल रूप से गैर-अवरुद्ध प्रकृति को समझना महत्वपूर्ण है . यह आलेख एक आम चुनौती को संबोधित करता है: किसी फ़ंक्शन को कॉलबैक पूरा होने तक कैसे प्रतीक्षा करें।
निम्न सरलीकृत फ़ंक्शन पर विचार करें:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
लक्ष्य myApi.exec को कॉल करना और कॉलबैक में प्राप्त प्रतिक्रिया लौटाना है। हालाँकि, यह कोड तुरंत वापस आ जाता है, जिससे यह अप्रभावी हो जाता है। ]नहीं
प्रतीक्षा करने के लिए। इसके बजाय, फ़ंक्शंस को कॉलबैक पैरामीटर स्वीकार करना चाहिए जिसे ऑपरेशन पूरा होने पर लागू किया जाएगा। कॉल करने वाले को पारंपरिक "रिटर्न" मान की अपेक्षा नहीं करनी चाहिए, बल्कि परिणाम को संसाधित करने के लिए कॉलबैक प्रदान करना चाहिए।function(query, callback) { myApi.exec('SomeCommand', function(प्रतिक्रिया) { // अतिरिक्त प्रसंस्करण... कॉलबैक (प्रतिक्रिया); // यह कॉल करने वाले को मान "लौटाता" है }); }उपयोग:
function(query, callback) {
myApi.exec('SomeCommand', function(response) {
// additional processing...
callback(response); // This "returns" the value to the caller
});
}
इस दृष्टिकोण में, फ़ंक्शन ब्लॉक नहीं होता है और इवेंट लूप को अन्य कार्यों को संसाधित करना जारी रखने की अनुमति देता है। जब कॉलबैक लागू किया जाता है, तो प्रदान किया गया फ़ंक्शन परिणाम को अतुल्यकालिक रूप से संभालता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3