2017-07-16 119 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'); 
    } 
}