"Undefined" discord.js 错误,有人可以帮助我吗?
"Undefined" Error in discord.js, can somebody help me?
我开始使用 discord.js
在 Discord 中制作 RPG 游戏,但出现错误。这是我的代码和错误:
let exp = require("./exp.json");
let userEXP = exp[message.author.id].exp;
if (voidCost) {
exp[message.author.id] = {
exp: exp[message.author.id].exp - 1700
}
fs.writeFile("./exp.json", JSON.stringify(exp), (err) => {
if (err) {
console.log(err)
}
})
}
let Void = require(`./weapons/Void.json`);
if (voidAmt) {
Void[message.author.id] = {
Void: Void[message.author.id].Void + 3
}
fs.writeFile("./weapons/Void.json", JSON.stringify(Void), (err) => {
if (err) {
console.log(err)
}
})
}
if (!Void[message.author.id]) {
Void[message.author.id] = {
Void: 0
}
}
错误:
(node:8632) UnhandledPromiseRejectionWarning: TypeError:
Cannot read property 'Void' of undefined` (referred to "Void[message.author.id].Void")
有人可以帮助我吗?该错误是什么意思,我该如何避免?
尝试这样做:
let Void = require(`./weapons/Void.json`);
if (voidAmt) {
if (!Void[message.author.id]) {
Void[message.author.id] = {
Void: 0
}
}
Void[message.author.id] = {
Void: Void[message.author.id].Void + 3
}
fs.writeFile("./weapons/Void.json", JSON.stringify(Void), (err) => {
if (err) {
console.log(err)
}
})
}
所以基本上只是把检查上移了。
只是说对数据库使用 JSON 不是很可靠,可能会损坏您的数据。
一个好的替代方案是 https://www.npmjs.com/package/enmap,它至少在某种程度上可以避免故障并且更易于使用
我开始使用 discord.js
在 Discord 中制作 RPG 游戏,但出现错误。这是我的代码和错误:
let exp = require("./exp.json");
let userEXP = exp[message.author.id].exp;
if (voidCost) {
exp[message.author.id] = {
exp: exp[message.author.id].exp - 1700
}
fs.writeFile("./exp.json", JSON.stringify(exp), (err) => {
if (err) {
console.log(err)
}
})
}
let Void = require(`./weapons/Void.json`);
if (voidAmt) {
Void[message.author.id] = {
Void: Void[message.author.id].Void + 3
}
fs.writeFile("./weapons/Void.json", JSON.stringify(Void), (err) => {
if (err) {
console.log(err)
}
})
}
if (!Void[message.author.id]) {
Void[message.author.id] = {
Void: 0
}
}
错误:
(node:8632) UnhandledPromiseRejectionWarning: TypeError:
Cannot read property 'Void' of undefined` (referred to "Void[message.author.id].Void")
有人可以帮助我吗?该错误是什么意思,我该如何避免?
尝试这样做:
let Void = require(`./weapons/Void.json`);
if (voidAmt) {
if (!Void[message.author.id]) {
Void[message.author.id] = {
Void: 0
}
}
Void[message.author.id] = {
Void: Void[message.author.id].Void + 3
}
fs.writeFile("./weapons/Void.json", JSON.stringify(Void), (err) => {
if (err) {
console.log(err)
}
})
}
所以基本上只是把检查上移了。
只是说对数据库使用 JSON 不是很可靠,可能会损坏您的数据。 一个好的替代方案是 https://www.npmjs.com/package/enmap,它至少在某种程度上可以避免故障并且更易于使用