回调函数在JavaScript示例中不起作用



下面的callback function example出了什么问题?我传递了一些参数,最后,我传递了一个函数,当其他任务完成时,该函数必须automatically运行。那么,为什么我会出错呢?

预期:

我期望2个console.log。第一个给出a, b, a+b的输出,第二个控制台打印hello

示例:

function alpha(a, b, ()=>{
  console.log("hello");
}){
  console.log(a, b, a+b);
}
alpha(5, 10);

以下是您想要的:

function alpha(a, b, fn) {
    console.log(a, b, a + b);
    fn();
}
alpha(5, 10, () => {
    console.log("hello");
});
// or defined by default
function alpha2(a, b, fn = () => {
    console.log("hello");
}) {
    console.log(a, b, a + b);
    fn();
}
alpha2(5, 10);

您可能正在寻找类似的东西,将参数传递给回调函数:

function alpha(a, b, f = (a,b) => a+b) {
    return f(a,b);
}
const multiply = (a,b) => a*b
console.log(alpha(5, 10));
console.log(alpha(5, 10, multiply));

最新更新