javascript - कॉलबैक फ़ंक्शन के लिए अतिरिक्त तर्क पास करें




function parameters (3)

मेरे पास एक फ़ंक्शन callWithMagic जो callWithMagic फ़ंक्शन को पैरामीटर के रूप में लेता है और उसे एक तर्क के साथ कॉल करता है।

const callWithMagic = callback => {
  const magic = getMagic();
  callback(magic);
};

मेरे पास एक फ़ंक्शन processMagic भी है processMagic जो दो तर्क लेता है: magic और theAnswer

const processMagic = (magic, theAnswer) => {
  someOtherMagic();
};

मैं फ़ंक्शन processMagic को पास करना चाहता हूं processMagic को processMagic के लिए एक तर्क के रूप में, लेकिन मैं callWithMagic को callWithMagic करने के लिए दूसरे पैरामीटर ( processMagic ) के रूप में 42 पास करना चाहता processMagic । मैं उसे कैसे कर सकता हूँ?

callWithMagic(<what should I put here?>);

आप एक अनाम नाम का उपयोग कर सकते हैं

कुछ इस तरह

session.sub('Hello', function(){marketEvents(your args);});

आप एक ऐसा फ़ंक्शन बना सकते हैं जो marketEvent फ़ंक्शन को कॉल करता हो। चीजों को जटिल करने की कोई ज़रूरत नहीं है

session.sub('Hello', function(args, kwargs) {
    marketEvent(args, kwargs, 'my custom data');
});

अन्यथा आप यह कर सकते हैं:

var mrktEvent = function(customArgs) {
    return function(args, kwargs) { 
        marketEvent(args, kwargs, customArgs) 
    };
}

session.sub('Hello', mrktEvent("customEvent"));

बस एक रैपर कॉलबैक बनाएं:

callWithMagic(function(magic) {
  return processMagic(magic, 42);
});

या ECMAScript 6 तीर फ़ंक्शंस का उपयोग करना :

callWithMagic(magic => processMagic(magic, 42));






callback