js里面有没有类似C++中的宏定义
场景是这样的,因为使用了jshint,在回调函数中的每个回调参数并没有被使用,会不符合jshint的规范
doSomething(params, function(err, res){
if(!!err) {
console.error('error!');
cb(err);
}else{
console.log("success");
}
});
由于回调函数中的res参数并未在函数体内使用,因此不符合jshint标准,当然可以定义一个空函数去调用res,然而函数本身是消耗性能的,有没有类似c++中的宏定义只是能让jshint通过,然而在执行的时候却什么也没做,或者有什么方法让这行代码中只是有res,然而并没有执行,因此不会有额外的开销
7 回复
callback形参不要传res不就可以了
@nullcc doSomeThing在很多地方都有被调用,这个例子是调用doSomething而非定义,所以如果去掉的话,doSomething函数定义的地方有callback(err,res),少了一个参数就出错了
doSomething(params, function (err, res) {
if (!!err) {
console.error('error!');
cb(err);
} else {
res
console.log("success");
}
});
这样可以吗?
res = res;
doSomething(params, function (err) {
if (!!err) {
console.error('error!');
cb(err);
} else {
console.log("success");
}
});
谢谢大家,jhshint里有一个unUsed:‘vars’ https://github.com/jshint/jshint/pull/867