I have the following code:
var access_token_key, access_token_secret, consumer_key, consumer_secret, get_twitter, listen, twitter;
twitter = require('ntwitter');
consumer_key = 'bogus';
consumer_secret = 'fake';
// consumer
access_token_key = 'falsey';
access_token_secret = 'unreal';
get_twitter = function(key, secret) {
return new twitter({
consumer_key: consumer_key,
consumer_secret: consumer_secret,
access_token_key: key,
access_token_secret: secret
});
};
listen = function(feed) {
var api = get_twitter(access_token_key, access_token_secret);
return api.stream('statuses/filter', {track: feed.track}, function(stream) {
console.log('setting up stream for %s', feed.track);
stream.on('data', function(data) {
console.log('data for %s', feed.track);
console.log('\t' + data.user.screen_name + ': ' + data.text);
});
stream.on('end', function(response) {
console.log('ending stream for %s', feed.track);
});
stream.on('destroy', function(response) {
console.log('destroying stream for %s', feed.track);
});
});
};
module.exports.listen = listen;
当我调用
listen({track: 'superbowl'})
时,它有效。万岁! 它做了一个小应用该做的一切! 我在控制台中看到这个:setting up stream for superbowl
data for superbowl
user: tweet
在那之后,我调用 listen({track: 'humble bundle'})
,它设置了新的流,但是出现了这个问题:
setting up stream for humble bundle
ending stream for superbowl
destroying stream for superbowl
data for humble bundle
user: tweet
我这里有什么做错了吗?我是否还没有完全掌握Node或Twitter的某些概念?