Javascript 池已关闭mysql2 discord bot
你好 尝试向数据库添加数据时,会抛出一个未经处理的错误PromisejectionWarning:错误:池已关闭 有必要将消息id上载到数据库 如果有另一种方法来发送MySQL查询顺序,我准备考虑,但现在我更喜欢这个方法,我只需要了解问题的原因并找到解决方案 const mysql=requiremysql2; const mysql_cfg=require../mysql_cfg.json; module.exports={ 名称:test, 执行消息,args{ 让lider_id=message.author.id; var con=mysql.createPoolmysql\u cfg.promise; message.delete; 骗局 .执行'SELECT id,date\u unblock FROM block,其中id=${lider\u id}` .thenresult=>{ message.channel.sendtest.thenmsg=>{ setTimeoutfunction{ 味精。edit@here.thenfunction信息{ message.react+; }; }, 1000; return con.execute`INSERT INTO events id VALUES${msg.id}`; }; } .然后=>{ 结束; } .catcherr=>{ console.logerr; }; },Javascript 池已关闭mysql2 discord bot,javascript,node.js,discord,discord.js,node-mysql2,Javascript,Node.js,Discord,Discord.js,Node Mysql2,你好 尝试向数据库添加数据时,会抛出一个未经处理的错误PromisejectionWarning:错误:池已关闭 有必要将消息id上载到数据库 如果有另一种方法来发送MySQL查询顺序,我准备考虑,但现在我更喜欢这个方法,我只需要了解问题的原因并找到解决方案 const mysql=requiremysql2; const mysql_cfg=require../mysql_cfg.json; module.exports={ 名称:test, 执行消息,args{ 让lider_id=mes
}; 在开始关闭池之前,您不会等待消息编辑等完成执行 then丛林非常狂野,因此将东西修改为async/await,这就变成了
const mysql = require("mysql2");
const mysql_cfg = require("../mysql_cfg.json");
module.exports = {
name: "test",
async execute(message, args) {
const lider_id = message.author.id;
const con = mysql.createPool(mysql_cfg).promise();
message.delete();
const result = await con.execute(`SELECT id, date_unblock FROM blocks WHERE id = "${lider_id}"`);
const msg = await message.channel.send("test");
setTimeout(async function () {
const message = await msg.edit("@here");
message.react("+");
}, 1000);
await con.execute(`INSERT INTO events (id) VALUES ("${msg.id}")`);
con.end();
},
};
编辑您的问题以包含有关您正在使用的数据库的信息,例如MYSQL im标题而不是discord bot,因为错误与数据库有关。以及包含mysql标记。这将帮助您的问题接触到在您使用的工具方面有经验的人。