首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twitter在控制台上使用Ampersand.js?

Twitter在控制台上使用Ampersand.js?
EN

Stack Overflow用户
提问于 2015-09-04 05:54:01
回答 1查看 55关注 0票数 0

我正在尝试创建一个简单的应用程序,它使用节点中的Twit模块来流tweet,并将它们打印到web控制台。到目前为止已经逐字逐句地跟踪了Ampersand.js文档。

我的目录结构是:

代码语言:javascript
复制
TwitterLiveFeed/app.bundle.js

TwitterLiveFeed/app.js

TwitterLiveFeed/index.html

TwitterLiveFeed/streamtweets.js

TwitterLiveFeed/package.json

TwitterLiveFeed/node_modules/browserify

TwitterLiveFeed/node_modules/twit

下面是代码:

streamtweets.js (模块)

代码语言:javascript
复制
// twitterlivefeed/streamtweets.js

//require the twit npm module
var Twit = require('twit');


function streamTweets() {
    var T = new Twit({
        consumer_key:         '---'
      , consumer_secret:      '---        
      , access_token:         '---'
      , access_token_secret:  '---'
   })

    var stream = T.stream('statuses/sample')

    stream.on('tweet', function (tweet) {
      console.log(tweet)
    })
}

//export streamTweets as the module function

module.exports=streamTweets;

app.js

代码语言:javascript
复制
// ./twitterlivefeed/app.js

console.log("Welcome!")

// require the local module

var streamTweets=require('./streamtweets.js');

// calling function

streamTweets();

然后运行“./node_node/..bin/browserify app.js -o app.bundle.js”将应用程序编译成一个文件。

index.html

代码语言:javascript
复制
<!-- index.html -->
  <script src='app.bundle.js'></script>

当我在浏览器上运行index.html时,它只会打印“欢迎”。在Safari中的错误控制台上,我可以看到“所有资源的总大小”选项卡的大小在不断增加,所以我确信代码正在做一些事情。只是无法得到任何输出。

帮助?

编辑1 :

因此,我编辑了我的模块代码,这是可行的。

代码语言:javascript
复制
var Twit = require('twit');

function streamTweets() {    

var T = new Twit({
    consumer_key:         ''
  , consumer_secret:      ''
  , access_token:         ''
  , access_token_secret:  ''
})

var options = { screen_name: 'username',
                count: 3 };

T.get('statuses/user_timeline', options , function(err, data) {
  for (var i = 0; i < data.length ; i++) {
    console.log(data[i].text);
  }
})

为什么上面的代码工作和流不工作?

EN

回答 1

Stack Overflow用户

发布于 2015-09-04 07:55:54

查看一下Twitter文档:

建立到流API的连接意味着发出一个很长时间的HTTP请求,并逐步解析响应。从概念上讲,您可以将其看作是通过HTTP下载无限长的文件。

我认为这通常会取消浏览器作为流的端点“主机”的资格。一个更好的解决方案是在Node.js后端打开一个连接,并通过WebSockets或socket.io将流发送给客户机。

有许多关于这方面的教程:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32390973

复制
相关文章

相似问题

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