Я довольно нуб, так что, возможно, этот путь не очень хороший и тратит ресурсы, но я все еще не знаю, как это проверить, поэтому я опущу это здесь и надеюсь, что кто-то опытный сказал нам, если это Хорошо или это неправильно, и самое главное, почему?
Способ заключается в том, чтобы поместить вызов tw.stream внутрь функции и вызвать эту функцию с массивом слов, которые вы хотите отслеживать. Он начнет отслеживать новые слова и прекратит отслеживать удаленные слова:
// Array to store the tracked words
var TwitWords = [];
// Tracker function
function TrackWords(array){
tw.stream('statuses/filter',{track:array},function(stream){
stream.on('data',function(data){
console.log(data.text);
});
});
}
// Add word
function AddTwitWord(word){
if(TwitWords.indexOf(word)==-1){
TwitWords.push(word);
TrackWords(TwitWords);
}
}
// Remove word
function RemoveTwitWord(word){
if(TwitWords.indexOf(word)!=-1){
TwitWords.splice(TwitWords.indexOf(word),1);
TrackWords(TwitWords);
}
}
Я надеюсь, что все в порядке, потому что это единственный способ, который я нашел.