कुछ फ़ंक्शन हैं, जो कुछ लंबा काम करते हैं और यह कॉलबैक प्रदान करता है।अज्ञात फ़ंक्शन के संदर्भ को कैसे पास किया जाए?
someFunc: function(argument, callback, context) {
// do something long
// call callback function
callback(context);
}
आवेदन में मैं इस समारोह
someFunc('bla-bla', function (context) {
// do something with this scope
context.anotherFunc();
}, this);
कैसे context
पैरामीटर गुजर बिना कॉलबैक फ़ंक्शन लागू करने के लिए प्रयोग करते हैं?
इस तरह कुछ की आवश्यकता है:
someFunc('bla-bla', function() {
// do something with this scope
this.anotherFunc();
}, this);
तो आपके अंतिम उदाहरण में ऐसा प्रतीत होता है कि आप संदर्भ (कम से कम कुछ के लिए) पास कर रहे हैं, क्या आप तर्कसंगत हैं कि अगर इसका नाम नहीं है तो क्या आप उत्सुक हैं? –
आप पैरामीटर पास कर रहे हैं, आप बस इसका उपयोग नहीं कर रहे हैं। और मुझे समझ में नहीं आता क्यों। – bfavaretto
@bfavaretto: ओपी इसे कॉलबैक में पास करके इसका उपयोग कर रहा है ताकि कॉलबैक बाहरी 'इस' मान के तरीकों का लाभ उठा सके। तो सवाल यह है कि आखिरी कोड ब्लॉक कैसे प्राप्त करें ... कॉलबैक में उचित 'यह' प्राप्त करना, इसलिए इसे तर्क के रूप में पारित करने की आवश्यकता नहीं है। –