Рубрики
Без рубрики

Вызвать обратные вызовы с неизвестными аргументами

Во время работы над каким -то кодом инструментов мне нужно было пройти функцию и неизвестное количество … С меткой JavaScript.

Во время работы над каким -либо кодом инструментов мне нужно было передать функцию и неизвестное количество аргументов в другую функцию, которая затем приведет к выполнению этой функции. Это оказалось довольно легко, используя fn.prototype.apply .

Допустим, мы хотим вызвать функцию, но выполнить какой -то другой код, мы сделали бы это здесь:

function invokeCallback(callback) {
  var params = Array.prototype.slice.call(arguments, 1);
  return callback.apply(null, params);
}

И вот наши три разнообразных функции:

function action() {
    console.log('action');
}

function greet(msg) {
    console.log(msg);
}

function nameage(name, age) {
    var msg = 'My name is ' + name + ' and my age is ' + age;
    console.log(msg);
}

И вот как мы можем назвать их динамически, без инвестирования, чтобы что -либо знать о них:

invokeCallback(action);
invokeCallback(greet, 'Hello!');
invokeCallback(nameage, 'Bob', '20');

Удивительно.

Оригинал: “https://dev.to/adamkdean/invoke-callbacks-with-unknown-arguments-51fo”