场景是这样的,因为使用了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)
N
callback形参不要传res不就可以了
H
引用 nullcccallback形参不要传res不就可以了
@nullcc doSomeThing在很多地方都有被调用,这个例子是调用doSomething而非定义,所以如果去掉的话,doSomething函数定义的地方有callback(err,res),少了一个参数就出错了
W
doSomething(params, function (err, res) {
if (!!err) {
console.error('error!');
cb(err);
} else {
res
console.log("success");
}
});
这样可以吗?
L
res = res;
Y
回调里不写res参数与"doSomething函数定义的地方有callback(err,res)"不冲突啊
1
doSomething(params, function (err) {
if (!!err) {
console.error('error!');
cb(err);
} else {
console.log("success");
}
});
H
谢谢大家,jhshint里有一个unUsed:'vars' https://github.com/jshint/jshint/pull/867
参与回复
登录后即可参与回复。登录