Javascript 在单个事件中处理多个功能

Javascript 在单个事件中处理多个功能,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我已经为我的机器人编写代码一年多了,但我仍然在一个事件中处理多个机器人功能。例如: //消息事件 //广告保护 const checkAdve=db.prepare(“…”).get(); 如果(!checkAdve'){ 返回; } //节约 const checkEco=db.prepare(“…”).get(); 如果(!checkEco'){ 返回; } 这只是一个粗略的例子(我现在手头没有代码),但本质上这里的问题是,如果checkAdve返回,那么经济功能就不会像广告返回一样运行。

我已经为我的机器人编写代码一年多了,但我仍然在一个事件中处理多个机器人功能。例如:

//消息事件
//广告保护
const checkAdve=db.prepare(“…”).get();
如果(!checkAdve'){
返回;
}
//节约
const checkEco=db.prepare(“…”).get();
如果(!checkEco'){
返回;
}
这只是一个粗略的例子(我现在手头没有代码),但本质上这里的问题是,如果
checkAdve
返回,那么经济功能就不会像广告返回一样运行。我知道我能做到

if(checkAdve){
//做事
}
但对于我的一些功能来说,这并不总是可能的


我还在学习“discord.js”,如果有人能教我如何处理这样的事情,我将不胜感激。

您可以编写包含功能的多个函数,然后在活动中调用它们

例如:

const checkEco=(通过,参数,这里,GuildID)=>{
const checkingEco=db.prepare(“…”).get();
如果(!checkingEco'){
返回;
}
}
client.on('message',message=>{
checkEco(传递,参数,此处,message.guild.id)
})

您可以编写包含功能的多个函数,然后在事件中调用它们

例如:

const checkEco=(通过,参数,这里,GuildID)=>{
const checkingEco=db.prepare(“…”).get();
如果(!checkingEco'){
返回;
}
}
client.on('message',message=>{
checkEco(传递,参数,此处,message.guild.id)
})

如果您在侦听器中工作,它有自己的作用域。使用
return
时,您将忽略范围并停止进一步执行。您需要创建额外的作用域来处理逻辑,例如使用函数

函数checkAdve(db){
const adveResult=db.prepare(“…”).get();
如果(!adveResult)返回false;
返回adveResult;
}
然后,在消息事件侦听器中,您可以使用以下功能:

client.on('message',(message)=>{
checkAdve(db);
}

如果您在侦听器中工作,它有自己的作用域。使用
返回时,您将省略作用域并停止进一步执行。您需要创建其他作用域来处理逻辑,例如函数

函数checkAdve(db){
const adveResult=db.prepare(“…”).get();
如果(!adveResult)返回false;
返回adveResult;
}
然后,在消息事件侦听器中,您可以使用以下功能:

client.on('message',(message)=>{
checkAdve(db);
}

我非常感谢您,老实说,我已经为这个问题痛苦了这么久!我非常感谢您,老实说,我已经为这个问题痛苦了这么久!