【发布时间】:2021-08-17 02:55:57
【问题描述】:
我正在制作一个平衡系统,并创建了一个 give 命令。每当我给某人一些钱(例如 10 美元)时,他们的余额显示为“10 美元 [object Promise]”。如何删除“[object Promise]”?
完整的命令代码:
if (command === 'give') {
if (!args[0]) return message.channel.send('how much are you gonna send?')
if (isNaN(args[0])) return message.channel.send('format: xd give [amount] [@user]')
const money = args[0];
const emb = new Discord.MessageEmbed()
.setColor('GRAY')
.setTitle('you gave them the $$')
.setDescription(`you gave ${message.mentions.users.first().username} the $$$$$$ (` + args[0] + ` to be exact)`)
.setTimestamp()
.setFooter('sent to pokimane');
message.channel.send(emb);
const money2 = moneyAmount - args[0];
if (isNaN(money2)) {
Number(money2);
}
moneydb.set(message.author.id, money2);
const uMA = moneydb.get(message.mentions.users.first().id);
const money3 = args[0] + uMA;
moneydb.set(message.mentions.users.first().id, money3);
}
// keyv connection
const moneydb = new Keyv('mysql://[user and pass]@localhost:3306/money');
连数据库最后都有[object promise]
【问题讨论】:
-
[object Promise]表示您正在尝试发送一个承诺对象 -
您必须先向我们展示该承诺的来源代码,然后我们才能提供有关如何正确处理该承诺的想法。
-
@jfriend00 虽然没有任何承诺......
-
好吧,显然你不知道,但显然有人试图变成一个字符串,这就是
[object Promise]的来源。您能否显示计算或显示余额所涉及的所有代码,因为沿着该执行线的某个地方,涉及到一个承诺。 -
@jfriend00 我更新了更多信息
标签: javascript mysql node.js discord.js keyv