Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 池已关闭mysql2 discord bot_Javascript_Node.js_Discord_Discord.js_Node Mysql2 - Fatal编程技术网

Javascript 池已关闭mysql2 discord bot

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

你好 尝试向数据库添加数据时,会抛出一个未经处理的错误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; }; },
}; 在开始关闭池之前,您不会等待消息编辑等完成执行

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标记。这将帮助您的问题接触到在您使用的工具方面有经验的人。