我想这样称呼:
function fwc(a, b, callback) {
dosomestuff(a,b);
callback();
}
有了这个:
fwc (a,b);
有时我需要回调,有时我不需要。当我调用函数并完全忽略回调时,这会导致麻烦吗?
我想这样称呼:
function fwc(a, b, callback) {
dosomestuff(a,b);
callback();
}
有了这个:
fwc (a,b);
有时我需要回调,有时我不需要。当我调用函数并完全忽略回调时,这会导致麻烦吗?
如果你不能改变fwc
函数,你可以这样调用它:
fwc(a, b, function(){});
fwc
这样在尝试调用第三个参数时不会出错。
如果可以更改,请更改为
function fwc(a, b, callback) {
dosomestuff(a,b);
if (callback) callback();
}
您应该像这样检查回调的类型:
function fwc(a, b, callback) {
dosomestuff(a,b);
if( typeof( callback ) == "function" ){
callback();
}
}
或者像这样:
function fwc(a, b, callback) {
dosomestuff(a,b);
callback && callback();
}
您还可以检查callback
类型以确保它是一个函数。如果是这样,请检查 Travis 的一般答案。
使用三元运算符做一个简单的检查,看看函数是否存在。
function fwc(a, b, callback) {
dosomestuff(a,b);
(callback) ? callback():"";
}