我在后端使用Sails 0.11,在前端使用angularjs。
我有一个使用以下代码的TwitterController,用于使用Twitter Streaming API(使用节点模块twit)打开流:
var Twit = require('twit');
var T = new Twit(sails.config.twit);
var stream = T.stream('statuses/filter', {
track: ['apple']
});
module.exports = {
open: function(req, res) {
if (!req.isSocket) {
return res.badRequest();
}
var socketId = sails.sockets.id(req.socket);
stream.start();
stream.on('tweet', function(tweet) {
sails.log.debug('Tweet received.');
sails.sockets.emit(socketId, 'tweet', tweet);
});
}
};
在我的前端(带有角帆模块):
$sails.get('/twitter/open').then(function(resp) {
console.log(resp.status);
}, function(resp) {
alert('Houston, we got a problem!');
});
这当然到达了我的后端控制器,并且流开始播放,但是我该如何收听
sails.sockets.emit(socketId,'tweet',tweet);
由服务器发布?
我将不胜感激!
跟随wZVanG的答案。这就是我使用角度帆角度模块执行的操作。
$sails.get('/twitter/open').then(function(resp) {
console.log(resp.status);
}, function(resp) {
alert('Houston, we got a problem!');
});
$sails.on('tweet', function(message) {
console.log(message);
});
这会将收到的所有推文记录到浏览器的控制台中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句