提问者:小点点

在JavaScript示例中回调函数不工作


下面的回调函数示例有什么问题? 我传递了一些参数,最后,我传递了一个函数,当其他任务完成时,该函数必须自动运行。 那么,为什么我会出错呢?

期望:

我希望有2个console.logs。 首先输出A,b,A+b,第二控制台打印hello

示例:

null

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

null


共2个答案

匿名用户

以下是您想要的:

null

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

匿名用户

您可能正在寻找这样的方法,将参数传递给回调函数:

null

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