如何在setInterval循环中以1计数?

时间:2018-12-21 19:03:12

标签: javascript discord.js

我想设置一个discord.js命令,该命令每5秒计数1(例如:1,然后在5秒后显示2,然后在5秒后显示3,依此类推)。但是我尝试的所有方法都无法正常工作,我可以寻求帮助吗?

这是针对我正在为服务器编码的机器人,我曾尝试在循环中使用i ++,但它不起作用。

var interval = setInterval (function () {
    var i = 0;
    i++;
    message.channel.send(i)
}, 7000);

我希望它先说1,然后5秒后再说2,但它每5秒一直说“ 1”。

1 个答案:

答案 0 :(得分:2)

您要在循环开始时更改i的值

var interval = setInterval (function () {
    var i = 0; <<<<<<<<<<<< right here
    i++;
    message.channel.send(i)
}, 7000);

您需要将该变量的声明更改为循环之外。这样的事情应该起作用:

var i = 0;
var interval = setInterval (function () {
    i++;
    message.channel.send(i)
}, 7000);