gpt4 book ai didi

node.js - 发出 socket.io 和 sailsjs (Twitter API)

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:27 24 4
gpt4 key购买 nike

我得到了一些推论,我在控制台中打印了所有这些,但我想将数据发送到 View ,但我不知道如何使用 socketio 来做到这一点。

有什么想法吗?

var TwitterController = {

'index': function(req,res) {

var twitter = require('ntwitter');

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

twit.stream('statuses/filter', { track: ['dublin', 'spain']} , function(stream) {
stream.on('data', function (data) {
console.log(data.user.screen_name + ': ' + data.text);

req.socket.emit('tweet', {
user: data.user.screen_name,
text: data.text
});

});
});
res.view();
},
};
module.exports = TwitterController;

在 View 中我试图打印所有的推特

<ul class="tw"></ul>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:1337');


jQuery(function($){
var twList = $('ul.tw');
});

socket.on('tweet', function (data) {
twList.prepend('<li>' + data.user + '</li>');
});
</script>

最佳答案

如果您尝试一下 Sails v0.9,您会更轻松地使用它,因为捆绑的示例会为您处理样板连接逻辑。

关键是,不要使用 res.view(),而是使用 res.json(tweets) 提供推文。

在此示例中,您使用的是流,因此您可以利用 res.pipe(stream)

然后您可以在前端使用 sails.io.js 向 /twitter 发送 socket.io 请求,并使用结果来获得乐趣和利润。

The following front-end code assumes you're using the tiny client-side SDK (sails.io.js) bundled in Sails v0.9.x:

socket.get('/twitter', function (tweets) {
console.log('Got the following tweets from the server :: ', tweets);
}

Keep in mind socket.get is just a convenience method on top of socket.emit that works with the Sails router out of the box. You can still do all the custom socket.io things you like if you have pubsub-specific code that you don't want to make accessible via HTTP.

sails.io.js also supports socket.post, socket.put, and socket.delete, with a similar API to the comparable jQuery AJAX methods (e.g. $.post)

关于node.js - 发出 socket.io 和 sailsjs (Twitter API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17705135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com