我一直在用这个来抓我的头发,试图将我最新的推文作为一个数组 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/