У меня есть функция callWithMagic У меня также есть функция

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

, которая принимает два аргумента: processMagic Я хочу передать функцию magic и theAnswer Глядя на вывод

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

в качестве аргумента processMagic, но я также хочу передать callWithMagic в качестве второго параметра ( 42) до theAnswer. Как я могу это сделать? processMagic Просто создайте обратный вызов оболочки:

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

Или используя ECMAScript 6

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

Вы можете использовать функцию anonymus Функции стрелок :

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

, например,

. Вы можете создать функцию, которая вызывает функцию

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"));

javascript — переменная не возвращается из функции AJAX — Переполнение стека

var varObject = {var1: "findButton", var2: true};

function cbFunc() {
    console.log(this.var1  ":"   this.var2);
}

//Example callback
datatable.ajax.reload(cbFunc.bind(varObject));