我想称之为:
function fwc(a, b, callback) {
dosomestuff(a,b);
callback();
}
用这个:
fwc (a,b);
有时我需要回调,有时我不需要。当我调用该函数并完全忽略回调时,这会引起麻烦吗?
答案 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
类型以确保它是一个功能。如果是这样,请检查特拉维斯的一般答案。