const db = require("./nodejs_om"); function handleDB(res, tableName, methodName, errorMsg, n1, n2) { // 表映射 let Model = db.model(tableName); // 查询到结果集 let results; try { results = new Promise((resolve, reject) => { if (!n1) { Model[methodName]((err, data) => { if (err) reject(err); resolve(data); }) return; } if (!n2) { Model[methodName](n1, (err, data) => { if (err) reject(err); resolve(data); }) return; } Model[methodName](n1, n2, (err, data) => { if (err) reject(err); resolve(data); }) }) } catch (error) { // 如果产生错误 console.log(err); // 给后端看的 res.send({errorMsg:errorMsg}); // 给前端看的 return; } return results; } module.exports = handleDB 解析这段代码,并且给每一行都加上注释
时间: 2024-02-10 20:06:18 浏览: 23
以下是对该段代码的注释:
```javascript
// 引入 nodejs_om 模块
const db = require("./nodejs_om");
// 定义一个处理数据库操作的函数
function handleDB(res, tableName, methodName, errorMsg, n1, n2) {
// 根据表名映射出对应的 Model 实例
let Model = db.model(tableName);
// 定义结果集变量
let results;
try {
// 尝试执行数据库操作,并将结果集封装到 Promise 中
results = new Promise((resolve, reject) => {
// 如果没有传入 n1 参数,则只传入回调函数
if (!n1) {
Model[methodName]((err, data) => {
if (err) reject(err);
resolve(data);
})
return;
}
// 如果没有传入 n2 参数,则只传入 n1 和回调函数
if (!n2) {
Model[methodName](n1, (err, data) => {
if (err) reject(err);
resolve(data);
})
return;
}
// 如果 n1 和 n2 都有值,则传入 n1、n2 和回调函数
Model[methodName](n1, n2, (err, data) => {
if (err) reject(err);
resolve(data);
})
})
} catch (error) { // 如果产生错误
console.log(err); // 给后端看的
res.send({errorMsg:errorMsg}); // 给前端看的
return;
}
// 返回结果集
return results;
}
// 导出处理数据库操作的函数
module.exports = handleDB;
```