2017-07-16 67 views
-1

我试图在用户键入off命令时清除setInterval,我该如何去做这件事?基本上,用户输入on命令,然后使用off命令将其关闭。这是我目前所拥有的片段。在javascript/nodejs中清除时间间隔

bot.on('message', (message) => { 

    if (message.content.startsWith(prefix + 'on')) { 
     var check = setInterval(test, 5000); 

    } else if (message.content.startsWith(prefix + 'off')) { 
     clearInterval(test); 

    } 

    function test() { 
    console.log('hello'); 

    } 
} 
+0

申报检查。 –

+0

'check'!='test'。在处理程序中声明时,它也不会被保留在事件中。 – Bergi

回答

0

改变代码在全球/高范围

var check=null; 
bot.on('message', (message) => {  
    if (message.content.startsWith(prefix + 'on')) { 
     check = setInterval(test, 5000);  
    } else if (message.content.startsWith(prefix + 'off')) { 
     clearInterval(check);  
    } 

    function test() { 
     console.log('hello'); 
    } 
}