Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
6
rated 0 times [  11] [ 5]  / answers: 1 / hits: 42867  / 8 Years ago, fri, november 25, 2016, 12:00:00

I have a function callWithMagic which takes a callback function as a parameter and calls it with one argument.



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


I also have a function processMagic which takes two arguments: magic and theAnswer.



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


I want to pass the function processMagic as an argument to callWithMagic, but I also want to pass 42 as the second parameter (theAnswer) to processMagic. How can I do that?



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

More From » function

 Answers
55

Just create a function(magic) {} as a wrapper callback:


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

Or using ECMAScript 6: arrow functions:


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


[#59922] Wednesday, November 23, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
minab

Total Points: 701
Total Questions: 104
Total Answers: 91

Location: Saint Pierre and Miquelon
Member since Fri, Jan 28, 2022
2 Years ago
;