【问题标题】:clearInterval does not stop the functionclearInterval 不会停止函数
【发布时间】:2021-04-25 08:27:22
【问题描述】:

所以我想创建一个 setInterval 函数来在给定时间向我的朋友发送垃圾邮件,除了 clearInterval 之外,它一切正常。

module.exports = {
    name: 'sp',
    execute(message, args){
        let member = message.mentions.users.first();
        let times = args[1]
        let mspam = args.slice(2).join(' ')
        message.delete()
        if(message.author.id != '387597578893524992' && message.author.id != '341994639395520526'){
            let noperm = new Discord.MessageEmbed()
            .setTitle("Insufficient permissions.")
            .setDescription(`${message.author} You do not have permission to perfom this command.`)
            .setColor("#FF0000")
            .setTimestamp();
            return message.channel.send(noperm).then(msg =>{
                msg.delete({timeout: 10000})
            })
        }
        var spam = function spammy(){
            message.channel.send(`${member} ${mspam}`)
        }
        if(member){
            setInterval(spam, ms(times))
        }else if(!member){
            clearInterval(spam)
        }
    }
}```

【问题讨论】:

标签: javascript node.js discord.js


【解决方案1】:

你必须正确处理你的间隔。

setInterval() returns a handle 设置为间隔项目。如果你不挂在它返回的那个项目上,你就不能清除间隔。

clearInterval() accepts that handle 作为其单个参数。

您可以随时在 'toobz 上您最喜欢的搜索引擎中搜索“mdn setInterval”,以获取 setInterval 或 Javascript(或 HTML、CSS)的任何部分的官方文档。

恕我直言,我会让你修复自己的代码。

【讨论】:

  • 你能帮我解决一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 2021-11-08
  • 1970-01-01
相关资源
最近更新 更多