我为mongoose架构编写了这段代码:
localeTypesSchema.statics.findAndModify =
function findAndModify(query, sort, update, options, callback) {
const promised = q.nbind(this.collection.findAndModify, this.collection);
return promised(query || {}, sort || [], update || {}, options, callback);
};
SonarQube对Make this function anonymous by removing its name (cross-browser, user-experience)
抱怨(主要,代码味道)。
如果我删除了该名称,那么eslint
airbnb
会对[eslint] Missing function expression name. (func-names)
提出this
抱怨(警告)。
我无法将其转换为箭头函数,因为它使用this
,而{{1}}应该绑定到函数调用者而不是箭头函数的范围。
我该如何编写代码?
答案 0 :(得分:1)
这两个选项都有效:请阅读SonarQube rule和eslint rule的说明。事实上,可以将eslint规则配置为强制执行一个选择或相反的选择。如果要强制执行一条规则,工具就可以提供帮助。