#node.js #twitter
#node.js #Twitter
Вопрос:
Я использую библиотеку twitter-node для node.js и это работает хорошо, однако у меня возникают некоторые незначительные трудности с отключениями.
Когда twitter отключает меня (я подключаюсь второй раз с того же сервера, чтобы принудительно отключить, чтобы я мог убедиться, что я справляюсь с такого рода проблемами), это не приводит к ошибке или событию завершения.Я думал, что с этим справится следующее:
var twitter = new TwitterNode({
user : opts.account,
password : opts.password,
track : opts.hashtags,
follow : opts.follow
});
// omitted handlers for receiving tweets/deletes/limit info, but its there
twitter.addListener('error', function(error) {
console.log('error occoured:' error.message);
}).addListener('end', function(resp) {
sys.puts("wave goodbye... " resp.statusCode);
}).stream();
Однако я не получаю ни сообщения от «end», ни «error», когда я отключен. Кто-нибудь знаком с этой проблемой?
Ответ №1:
Для тех, у кого такая же проблема:
От twitter-узла нет уведомления, потому что он не обрабатывает событие закрытия библиотек https — перейдя в источник и добавив:
response.on('close', function() { twit.emit('close',this); }
Библиотека теперь выдает событие закрытия, когда соединение закрывается удаленным сервером (twitter), и вы можете обработать его с помощью прослушивателя в вашем коде следующим образом:
twitterStreamReader = new TwitterNode({...});
twitterStreamReader.addListener('close', function(resp) {
sys.puts('The server connection has been closed. You may want to do something about that.');
});