javascript - 从 Node.JS 中的外部 .js 文件调用方法
问题描述
我创建了一个db.js
连接到 Oracle 数据库的文件。
process.env.ORA_SDTZ = 'UTC';
var oracledb = require('oracledb');
exports.saveInDB = async function(data) {
let connection;
try {
let sql, binds, options, result;
binds = [];
connection = await oracledb.getConnection({
user: "user",
password: "pass",
connectString: "localhost/dbname"
});
var start = new Date();
for (var i = 1; i <= 100; i++) {
sql = `INSERT INTO mytab VALUES (:1, :2, :3)`;
binds = [
[i, "Inserted row number => " + i + " =>" + data, 0]
];
options = {
autoCommit: true,
bindDefs: [
{ type: oracledb.NUMBER },
{ type: oracledb.STRING, maxSize: 999 },
{ type: oracledb.NUMBER }
]
};
result = await connection.executeMany(sql, binds, options);
console.log("Inserted row number => ", i);
}
var end = new Date() - start;
console.info('Execution time: %dms', end);
} catch (err) {
console.error(err);
} finally {
if (connection) {
try {
await connection.close();
} catch (err) {
console.error(err);
}
}
}
}
当我想打电话var db = require('./db.js'); db.saveInDb(data);
时,发生了这个错误:TypeError: db.saveInDb is not a function
。我尝试使用其他格式来定义方法,async function saveInDb(data)
但结果不会改变。我该如何解决这个错误?我搜索这个但无法解决这个问题。谢谢。
解决方案
process.env.ORA_SDTZ = 'UTC';
var oracledb = require('oracledb');
const saveInDB = async function(data) {
let connection;
try {
// my codes....
}
var end = new Date() - start;
console.info('Execution time: %dms', end);
} catch (err) {
console.error(err);
} finally {
if (connection) {
try {
await connection.close();
} catch (err) {
console.error(err);
}
}
}
}
export { saveInDB }
推荐阅读
- php - 如何在 PHP 文件中获取此 JSON 数据并将其设为变量?
- c - 当模块化 C 代码时,在一个函数中是否可以循环到另一个函数(即到我的 main() c 文件)?
- python - Python中的二次链或连接多个分段
- scala - 如何在 Scala 中转换这个多维对象,如下所述?
- typescript - 打字稿类型 T 或函数 () => T 用法
- ios - 遵守 iOS 13 应用程序更新截止日期需要进行哪些更改
- java - ArrayList 自动更新项目的属性
- php - 使用反序列化时错误 PHP 到 Twig 转换器
- wordpress - 如何拆分 wordpress 元值数据
- c++ - C++ 中的双向链表迭代器打印中的程序崩溃