javascript - Node.js, 'X' 未定义

标签 javascript node.js express twitter

我一直在用这个来抓我的头发,试图将我最新的推文作为一个数组 https://github.com/noffle/latest-tweets npm 模块。然而,无论我以什么方式订购它,我都会遇到某种形式的错误。主要是帖子没有定义 或推文未定义。

var express = require('express');
var latestTweets = require('latest-tweets')
var Post = require('../models/blog');
var router = express.Router();


router.get('/', function (req, res) {
	Post.getPosts((err, posts) => {
		if(err){
			throw err;
		}
	});
	latestTweets('my_twitter_id', function (err, tweets) {
  	console.log(tweets)
	})
    res.render('index', {tweets : tweets, posts : posts});

});

我还尝试将latestTweets 函数导出到辅助类中,这会导致更多问题。

最佳答案

帖子和推文都是回调中的变量。 您不能在回调之外使用它们。

快速修复:

router.get('/', function (req, res) {
    Post.getPosts((err, posts) => {
        if(err){ throw err; }

        latestTweets('my_twitter_id', function (err_, tweets) {
            if(err_){ throw err_; }
            console.log(tweets);

            res.render('index', {tweets : tweets, posts : posts});
        });
    });
});

现在,如果您正在寻找更漂亮的解决方案,您可以看看 async 模块。 async repo

关于javascript - Node.js, 'X' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535448/

相关文章:

javascript - 振荡器的网络音频 FFT?

javascript - 如何使用 mongoose 和 node.js 将 mongodb 时间戳转换为 dd-mm-yyyy 格式?

javascript - 使用 NodeJS 将变量传递给 html

node.js - 从不同端口访问 Expressjs 资源 (CORS)

javascript - 以下公共(public)目录设置有什么问题?

javascript - div 的宽度占所有剩余宽度

javascript - 我可以使用扩展语法使用 TypeScript 创建包装函数,而不必指定参数和类型吗?

javascript - Angular : Update one-time binded data

macos - Nodejs www mac os x 服务器

javascript - 如何在 NodeJS/ExpressJS/Passport 中显示登录的用户名?