我将如何正确地捕捉到这个?
How would I correctly .catch this?
我正在尝试捕捉 // this line
,但我似乎找不到将捕捉器放置在何处以正确捕捉它。
mutedList.forEach((i) => {
if (i.mutedEnd*1000 < new Date()){
console.log(i)
db.collection('muted').doc(i.userID).get().then((q) => {
db.collection('muted').doc(i.userID).update({
stillMuted: false
}).then(
bot.guilds.get(i.guildID).members.get(i.userID).removeRole(i.mutedRole) // this line | here
).catch((err) => {
bot.createMessage('717822384198910042',{ embed: {
title: 'ERROR',
description: '```js\n'+err.stack+'\n```',
color: hex
}});
})}
)}
})
我已经尝试过它当前所在的位置,以及我放置 HERE
的位置
你不能.catch();
那句话,因为它不是承诺。
试试这个代码,你可能会得到错误,因为你正试图对可能返回的东西使用方法undefined
所以这会在执行任何方法之前检查公会和成员是否存在。
then(() => {
const guild = bot.guilds.get(i.guildID);
if (guild) const member = guild.members.get(i.userID);
if (member) member.removeRole(i.mutedRole);
})
您目前拥有的 .catch();
仅用于处理对原始承诺的拒绝 db.collection('muted').doc(i.userID).update
我还注意到您正在使用 Discord.js v11,我建议更新到 v12,因为 v11 将在 10 月底被废弃。
我正在尝试捕捉 // this line
,但我似乎找不到将捕捉器放置在何处以正确捕捉它。
mutedList.forEach((i) => {
if (i.mutedEnd*1000 < new Date()){
console.log(i)
db.collection('muted').doc(i.userID).get().then((q) => {
db.collection('muted').doc(i.userID).update({
stillMuted: false
}).then(
bot.guilds.get(i.guildID).members.get(i.userID).removeRole(i.mutedRole) // this line | here
).catch((err) => {
bot.createMessage('717822384198910042',{ embed: {
title: 'ERROR',
description: '```js\n'+err.stack+'\n```',
color: hex
}});
})}
)}
})
我已经尝试过它当前所在的位置,以及我放置 HERE
你不能.catch();
那句话,因为它不是承诺。
试试这个代码,你可能会得到错误,因为你正试图对可能返回的东西使用方法undefined
所以这会在执行任何方法之前检查公会和成员是否存在。
then(() => {
const guild = bot.guilds.get(i.guildID);
if (guild) const member = guild.members.get(i.userID);
if (member) member.removeRole(i.mutedRole);
})
您目前拥有的 .catch();
仅用于处理对原始承诺的拒绝 db.collection('muted').doc(i.userID).update
我还注意到您正在使用 Discord.js v11,我建议更新到 v12,因为 v11 将在 10 月底被废弃。