NodeJS ExpressJS如何打印API结果数组?

时间:2015-12-08 04:40:48

标签: javascript node.js express twitter

我正在使用twitter API来获取推文,然后将其推送到数组中。我想打印整个数组(我只想知道我可以传递值)到我的HTML文档并显示它。谢谢!

代码如下:

var express = require("express");
var twit = require("twitter"),
    twitter = new twit({
        consumer_key: 'SECRET',
        consumer_secret: 'SECRET',
        access_token_key: 'SECRET',
        access_token_secret: 'SECRET'
    });

var tweets = [],
    util = require('util');

twitter.stream('statuses/filter', {track: 'love, hate'}, function(stream){
    stream.on('data', function(data){
        if ('delete' in data === false){
            tweets.push(data);
        }
    });

    setTimeout(function(){
        console.log('Collected ' + tweets.length + ' tweets.');
        stream.destroy();
    }, 1000);
});



var app = express();
var path = require('path');


app.set('port', process.env.PORT || 2400);

function home(req,res){
    res.setHeader("Content-Type", 'text/html');
    res.sendFile(path.join(__dirname + '/index.html'));
}

app.use(express.static(__dirname + '/public'));

app.get('/', home);
app.listen(app.get('port'));

console.log('Server running at 2400');

谢谢你们。知道我需要使用Jade,我从这里想出了剩下的部分: Having problems with passing array to jade template in node.js

2 个答案:

答案 0 :(得分:0)

您是否正在尝试构建实时应用程序,从Twitter流数据到用户网络?使用socket.io是实时向Web前端发送数据的最简单方法

答案 1 :(得分:0)

使用Jade模板引擎,我只在代码中进行一些小的更改,然后使用Jade模板代替html文件。

您的代码:

app.set('views', './views');
app.set('view engine', 'jade');

function home(req,res) {
    res.setHeader("Content-Type", 'text/html');
    res.render('index', {tweets: tweets});
}

<强> index.jade

ul
  each tweet in tweets
    li= tweet

以下文档将帮助您将Jade整合到您的应用中:

Using template engines with Express

Jade Template Engine

Jade iteration syntax