我正在创建一个模块,该模块接收几个复杂的 JSON 文件,如果某些元素不存在,我希望有一些代码给用户反馈。
以下是我现在正在做的方式,但我不禁想到必须有一种更清洁,更少hacky的方式。
var _und = require("underscore");
//this function takes a list of required attributes and ensures they are present
var check_req_attr = function(config, req_attr, callback) {
var config_attr = Object.keys(config);
var absent_attr = _und.difference(req_attr, config_attr); //slightly hacky code that checks to ensure config has correct vars
if (absent_attr.length !== 0) {
throw Error("missing following attributes from config:" + absent_attr);
} else {
callback();
};
};
只是感觉……脏。如果没有真正优雅的方式来做到这一点,我愿意接受对我的代码的批评。谢谢!