我应该如何抛出Mysql';s结果是另一个js文件
这是我的第一个JS,所以这可能是一个非常新手的问题。 我想将SQLQUERY.js生成的sql结果传递给MAIN.js,但我不知道如何处理 SQLQUERY.js我应该如何抛出Mysql';s结果是另一个js文件,mysql,node.js,botkit,Mysql,Node.js,Botkit,这是我的第一个JS,所以这可能是一个非常新手的问题。 我想将SQLQUERY.js生成的sql结果传递给MAIN.js,但我不知道如何处理 SQLQUERY.js var mysql = require('mysql') var db = require('./db/db.js'); var connection = mysql.createConnection(db); var fs = require('fs') connection.connect(); const sql = fs.r
var mysql = require('mysql')
var db = require('./db/db.js');
var connection = mysql.createConnection(db);
var fs = require('fs')
connection.connect();
const sql = fs.readFileSync('./src/db/sql/selectTimeNotOnWork.sql').toString();
const sql2 = fs.readFileSync('./src/db/sql/selectTimeNotOnWorkCount.sql').toString();
var firstResult
var secondResult
connection.query(sql2,function (error, results, fields) {
if (error) throw error;
firstResult = results[0].count;
return firstResult;
});
connection.query(sql,function (error, results, fields) {
if (error) throw error;
secondResult= results[0].name
return secondResult;
});
exports ={firstResult,secondResult}
MAIN.JS
・・・・
require(./SQLQUERY.js)
controller.hears(['test'], botScope, async(bot, message) => {
console.log(firstResult)
console.log(secondResult)
await bot.reply(message, firstResult);
});
执行
require()
时,可以要求整个导出对象,也可以使用解构
因此,在MAIN.JS中,您可以执行以下操作:
{firstResult,secondResult}=require('./SQLQUERY.js')
然后这两个值将在MAIN.js代码中可用。至少当我需要从导出而不是整个对象导入特定值时,我就是这样做的。我也不是专家,所以我不知道一个简单的
require('./SQLQUERY')
是否能使这些对象可用。顺便说一句,一个更好的方法可能是在MYSQL.js文件中创建一个对象,然后在这个对象中创建您需要的方法。因此,在MAIN.js中,您可以编写类似于const mysql=require('./mysql')
,然后使用此对象的方法,如mysql.connect()
和mysql.query()
,这样做可以更好地控制MAIN.js中mysql逻辑引发的错误或问题,它不会隐藏在另一个文件中。