Tam*_*zuk 3 javascript node.js
我有数据和回调参数的功能.该数据与许多属性的对象,我要验证这些.我写了多个if,else if语句来做,但对我来说似乎太恶心了.
function(data, callback) {
if (data.a != 'x') {
logger.log(...);
return callback({status: false, code: 'x'});
} else if (data.b != 'y') {
logger.log(...);
return callback({status: false, code: 'y'});
} else if (data.c != 'z') {
logger.log(...);
return callback({status: false, code: 'z'});
} else if (data.d != 'w') {
logger.log(...);
return callback({status: false, code: 'w'});
}
//... logic ...
return callback({status: true});
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是合适的方式.
一种方法是将验证分解为单独的函数:
function failureCode(data) {
if (data.a != 'x')
return 'x';
if (data.b != 'y')
return 'y';
if (data.c != 'z')
return 'z';
}
function (data, callback) {
var code = failureCode(data);
if (code) {
logger.log(...);
return callback({status: false, code: code});
}
//... logic ...
}
Run Code Online (Sandbox Code Playgroud)
另外,不要忘记return从"失败"分支.
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |