我正在尝试 js2-mode,它是 emacs 中的一种 javascript IDE。其中一项功能是语法错误突出显示和样式警告。自从打开它以来,我注意到我在我的代码中都收到了这个警告:
anonymous function does not always return a value
当我编写一个负责调用回调的函数时,我通常不会显式添加返回值。是不是很糟糕的风格?
例如:
function someFunc (requiredParam, callback) {
if (!requiredParam)
return callback("missing required param")
someAsyncMethod(requiredParam, function(someValue) {
callback(null, someValue)
})
}
唯一的return
作用是确保函数的其余部分不会被执行。写成这样更好吗
function someFunc (requiredParam, callback) {
if (!requiredParam)
return callback("missing required param")
return someAsyncMethod(requiredParam, function(someValue) {
return callback(null, someValue)
})
}
后一种风格是让 js2-mode 让我一个人呆着的唯一方法。或者它应该写成
function someFunc (requiredParam, callback) {
if (!requiredParam) {
callback("missing required param")
} else {
someAsyncMethod(requiredParam, function(someValue) {
callback(null, someValue)
})
}
}
这也给了我一个 js2 通行证,但我总是发现前一种风格更好读。我做错了还是 js2-mode 太紧张了?