最近在用node整项目,下面来分享一下通用是怎么抽取出来了
// 引入async模块
const async = require('async');
// 引入常量模块
const Constant = require('../constant/constant');
// 定义一个对象
const exportObj = {
checkParams,
autoFn
};
// 导出对象,方便其他方法调用
module.exports = exportObj;
/**
* 校验参数全局方法
* @param params 请求的参数集
* @param checkArr 需要验证的参数
* @param cb 回调
*/
function checkParams (params, checkArr, cb) {
let flag = true;
checkArr.forEach(v => {
if (!params[v]) {
flag = false;
}
});
if (flag) {
cb(null);
}else{
cb(Constant.LACK);
}
}
/**
* 返回统一方法,返回JSON格式数据
* @param tasks 执行方法
* @param res responese响应对象
* @param resObj 返回json对象
*/
function autoFn (tasks, res, resObj) {
async.auto(tasks, function (err){
if (!!err) {
res.json({
code: err.code || Constant.DEFAULT_ERROR.code,
msg: err.msg || JSON.stringify(err)
});
} else {
res.json(resObj);
}
});
}