如何在sails.io.js上监听socket emit



我在后台使用Sails 0.11,在前端使用angularjs

我有一个TwitterController在帆与以下代码,打开一个流与Twitter流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);

.

Sails库创建了一个全局变量"io",所以你可以使用:

io.socket.on("tweet", function(data){})

以下是wZVanG的回答。我就是这样做的,使用了angular-sails angular模块。

$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);
});

将收到的每条tweet记录到浏览器的控制台。

相关内容

  • 没有找到相关文章

最新更新