首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sails.io.js上收听套接字发出?

如何在sails.io.js上收听套接字发出?
EN

Stack Overflow用户
提问于 2015-06-04 12:22:03
回答 2查看 985关注 0票数 2

我的后端使用Sails 0.11,前端使用angularjs。

我在sails中有一个带有以下代码的TwitterController,可以用打开一个流(这使用节点模块twit):

代码语言:javascript
复制
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);
        });
    }
};

在我的前端(带有角帆模块):

代码语言:javascript
复制
$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);

服务器发出的?

我希望能在这里提供任何帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-04 12:52:06

跟随着wZVanG的回答。这就是我是如何做到的,使用角帆角模块。

代码语言:javascript
复制
$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);
});

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

票数 2
EN

Stack Overflow用户

发布于 2015-06-04 12:48:25

Sails库创建了一个全局变量"io",因此您还可以使用:

代码语言:javascript
复制
io.socket.on("tweet", function(data){})
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30643714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档