Javascript 正在将数据从节点js模块获取到server.js文件
我试图从节点模块中的函数获取数据,该函数返回一个json对象,并在我的server.js文件中的路由器中显示json对象 我正试图将其导出如下:Javascript 正在将数据从节点js模块获取到server.js文件,javascript,json,node.js,express,Javascript,Json,Node.js,Express,我试图从节点模块中的函数获取数据,该函数返回一个json对象,并在我的server.js文件中的路由器中显示json对象 我正试图将其导出如下: // Export the function exports.getTweets = function() { var tweetResult = {}; twitter.get( '/statuses/user_timeline.json', { scre
// Export the function
exports.getTweets = function() {
var tweetResult = {};
twitter.get(
'/statuses/user_timeline.json',
{ screen_name: 'twitter', count: 5},
function (error, tweets) {
tweetResult = tweets;
}
);
return tweetResult;
};
这是我的server.js文件,其中的路由应该返回json对象
tweets = require("./twitter_stream.js"),
// set up the route for the json object
app.get("/tweets.json", function (req, res) {
console.log(tweets.getTweets());
});
我只能得到一个空对象。您需要向
getTwitter
函数传递回调以接收twitter结果。当代码返回tweetResult时,变量tweetResult
为null代码>被调用
请检查以下代码,了解如何在代码中使用回调:
exports.getTweets = function(callback) {
twitter.get(
'/statuses/user_timeline.json',
{ screen_name: 'casperpschultz', count: 5},
function (error, tweets) {
//invoke the callback function passing the tweets
callback(tweets);
}
);
};
调用传递回调函数的getTweets函数的代码:
app.get("/tweets.json", function (req, res) {
//invoke getTweets passing a callback function by parameter
tweets.getTweets(function(tweets){
console.log(tweets);
});
});
js以异步方式与回调一起工作,这是一个很好的参考,可以解释它