我想看看是否有一个名字(这是一个不好的做法?):
var callback = function(error, data) {
var method = error ? 'handleError' : 'handleSuccess';
object[method](error || data, action);
};
如果出现错误,object.handleError将使用错误和操作,假设我不关心错误之后的任何其他参数错误
另一方面,如果没有错误,object.handleSuccess将使用数据和动作
答案 0 :(得分:2)
它是null-coalescing (Elvis) operation。这不是坏习惯,但在这种情况下,我认为写出if / else比较清楚,因为你无论如何要进行两次比较检查。这样你也可以省略第二个参数。
var callback = function(error, data) {
if(error){
object.handleError(error);
else{
object.handleSuccess(data,action);
}
};