Какой самый простой способ написать библиотеку обратных вызовов? - PullRequest
0 голосов
/ 19 января 2020

Я хочу написать функцию, которая получила аргумент обратного вызова в виде строки ... как

sum( 5 , "add_5" )
        // ^^^ as callback

Я написал некоторый код, подобный этому ...

console.log(demo(5, "add_5"));

function demo(num, callback) {
  res = num;

  if (callback == "add_5") res = add_5(res);

  function add_5(res) {
    return res + 5;
  }
  return res;
}

Но есть ли другой, но самый простой или лучший способ написать этот код?

1 Ответ

1 голос
/ 19 января 2020

Я думаю, это то, что вы ищете:

let result = demo(5, function add_5(res) {
    return res + 5;
})
console.log(result);

function demo(num, callback) {
    return callback(num);
}

Это передача функции в качестве обратного вызова (в данном случае это именованная функция, но вы можете оставить ее анонимной). Подробнее о обратных звонках здесь: https://developer.mozilla.org/en-US/docs/Glossary/Callback_function.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...