在回调中使用带参数的函数

Ron*_*nan 4 javascript parameters callback

我编写了一个函数,它可能会将未知数量的函数作为参数,但是当一个或多个函数也采用参数时,无法确定如何使其工作.

这是我想要实现的一个简单示例:

function talk(name) {
  console.log('My name is ' + name);
  var callbacks = [].slice.call(arguments, 1);
  callbacks.forEach(function(callback) {
    callback();
  });
}

function hello() {
  console.log('Hello guys');
}

function weather(meteo) {
  console.log('The weather is ' + meteo);
}

function goodbye() {
  console.log('Goodbye');
}

// I would like to be able to do the following:
//talk('John', hello, weather('sunny'), goodbye);
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 8

您可以传递一个匿名函数,该函数可以使用所需参数调用该函数

talk('John', hello, function(){
    weather('sunny')
}, goodbye);
Run Code Online (Sandbox Code Playgroud)

function talk(name) {
  console.log('My name is ' + name);
  var callbacks = [].slice.call(arguments, 1);
  callbacks.forEach(function(callback) {
    callback();
  });
}

function hello() {
  console.log('Hello guys');
}

function weather(meteo) {
  console.log('The weather is ' + meteo);
}

function goodbye() {
  console.log('Goodbye');
}

talk('John', hello, function() {
  weather('sunny')
}, goodbye);
Run Code Online (Sandbox Code Playgroud)