【发布时间】:2018-10-15 05:40:56
【问题描述】:
我正在创建一个 Node JS 项目,它以列表的形式在服务器上获取和显示推文。但是,当我在运行 main.js 后查看网页时,它会返回一个“[object Object]”列表而不是推文。我曾尝试使用 JSON.stringify 但无济于事。可能是我用错了?
我正在使用 Node.js、Express.js 和 Pug。
main.js
'use strict';
const express = require('express'),
Twitter = require('twitter'),
passport = require('passport'),
TwitterStrategy = require('passport-twitter').Strategy,
request = require('request'),
app = express(),
tweets = [];
const T = new Twitter({
consumer_key: 'vLHfUa437ECQDnCqbikfpHnxh',
consumer_secret: 'ygZ6HH19vMwm3hGQnSFGKimaBNClzPZUWKoq4TKXqNnOTZPkP4',
access_token_key: '898531406703407108-qkmMO2wAyyXjo8XIG2B59dSlWY6OXZQ',
access_token_secret: 'vBNdwsDeaI8WNQ1gWdtp70keg0EsutgpWNeliD56uj8v6'
});
T.stream('statuses/filter', {track: 'love'}, function(stream){
stream.on('data', function(data){
if ('delete' in data === false){
tweets.push(data);
}
});
setTimeout(function(){
console.log(tweets.length);
}, 1000);
});
app.set('view engine', 'pug');
app.set('views', './views');
app.use(express.json());
app.use(express.urlencoded({
extended: true
}));
app.use(express.static('resources'));
app.get('/', function(req, res) {
res.setHeader("Content-Type", 'text/html');
res.render('index', {tweets: tweets});
});
app.listen(3000, function () {
console.log('Listening on http://localhost:3000');
});
index.pug
doctype
html
head
meta(charset="UTF-8")
meta(name="viewport", content="width=device-width, initial-scale=1")
block title
title This is the title!
link(rel='stylesheet', href='/css/style.css', type='text/css')
body
ul
each tweet in tweets
li= tweet
【问题讨论】: