调用函数并忽略回调参数

时间:2013-03-24 21:05:30

标签: javascript callback

我想称之为:

function fwc(a, b, callback) {

dosomestuff(a,b);
callback();
}

用这个:

fwc (a,b);

有时我需要回调,有时我不需要。当我调用该函数并完全忽略回调时,这会引起麻烦吗?

4 个答案:

答案 0 :(得分:4)

如果您无法更改fwc功能,可以这样调用:

fwc(a, b, function(){});

这样,fwc尝试调用第三个参数时就不会出错。

如果您可以更改它,请将其更改为

function fwc(a, b, callback) {
    dosomestuff(a,b);
    if (callback) callback();
}

答案 1 :(得分:4)

你应该检查你的回调类型:

function fwc(a, b, callback) {
 dosomestuff(a,b);
 if( typeof( callback ) == "function" ){
  callback();
 }
}

答案 2 :(得分:1)

使用三元运算符进行简单检查以查看函数是否存在。

function fwc(a, b, callback) {
    dosomestuff(a,b);
   (callback) ? callback():"";
}

答案 3 :(得分:1)

或者像这样:

function fwc(a, b, callback) {
    dosomestuff(a,b);
    callback && callback();
}

您还可以检查callback类型以确保它是一个功能。如果是这样,请检查特拉维斯的一般答案。