2014-09-07 5 views
0

Я пытаюсь использовать модуль node-twitter в экспресс-структуре. Я довольно новичок в узле, я понимаю основную маршрутизацию, рендеринг jade-шаблонов и установку пакетов и т. Д. Но я очень рад видеть так много пакетов там, но когда я добираюсь до деталей, я не очень понять, как их использовать в экспресс-рамках.node-twitter в express framework

В настоящее время я использую модуль node-twitter (https://github.com/desmondmorris/node-twitter) и хотел бы использовать Streaming API. Ниже приведены фрагменты кода, которые мне нужно будет начать с потокового API. У меня есть все необходимые ключи и застревает, когда дело доходит до выражения. Так; мой вопрос в том, как передать это маршруту?

var util = require('util'), 
    twitter = require('twitter'); 
var twit = new twitter({ 
    consumer_key: '', 
    consumer_secret: '', 
    access_token_key: '', 
    access_token_secret: '' 
}); 


twit.stream('user', {track:'nodejs'}, function(stream) { 
    stream.on('data', function(data) { 
     console.log(util.inspect(data)); 
    }); 
    // Disconnect stream after five seconds 
    setTimeout(stream.destroy, 5000); 
}); 

Насколько я знаю, есть два способа маршрутизации, один рендерит шаблон и другой непосредственно отправка ответа.

app.get('/',function(req, res){ 
res.render ('index'); 
}); 

app.get('/test',function(req,res){ 
res.send('this is a test'); 
}) 

Теперь, как настроить маршруты для twitter streaming api? пожалуйста посоветуй.

ответ

1

Я думаю, что вы пытаетесь вставить квадратный штифт в круглое отверстие.

Модуль потоковой передачи twitter передает данные синхронно из твиттера, в то время как запросы маршрутов инициируются пользователем, создающим HTTP-запрос на ваш сайт.

Чтобы предоставить HTTP-запрос, обслуживаемый маршрутом, некоторые из твитов, которые вошли через модуль потоковой передачи twitter, вы можете нажимать твиты, собранные из stream.on (раздел «данные» в массив, который вы инициализируете на том же уровне в качестве обработчика маршрута.

Другим подходом было бы использовать асинхронный канал связи, такой как socket.io, и передавать твиты вместе с подключенными пользователями по мере их поступления.

Смежные вопросы