[英]Twitter API and Node
我正在尝试使用https://github.com/jdub/node-twitter从Twitter检索我的最后一条推文
我想声明一个变量,在函数内更改该变量,然后在该函数外再次使用它。 这可能吗?
我已通过身份验证,可以查看我的最后一条推文:
var tweet;
twit.get('http://api.twitter.com/1/statuses/user_timeline.json', function(data) {
tweet = data[0].text;
console.log(tweet);
});
但是我想把我的代码分开做:
var tweet;
twit.get('http://api.twitter.com/1/statuses/user_timeline.json', function(data) {
tweet = data[0].text;
});
console.log(tweet);
推文仍未定义。
请教育我:-)
您希望能够立即console.log,但是node.js不是同步的,因此它变得如此强大和快速。 您必须习惯于使用node.js进行异步编码。 获取请求是异步的。 在回调发生之前,不会分配Tweet。
发出异步请求后,Console.log立即执行。
试试:(编辑-我建议这样做,然后对问题进行编辑以包括此代码)
twit.get('http://api.twitter.com/1/statuses/user_timeline.json', function(data) {
tweet = data[0].text;
console.log(tweet); // executed after call returns
});
// executes immediately after request is sent
console.log("request sent");
注意,twit.get调用的第二个参数是一个匿名函数,它将在完成异步请求后执行。
其输出应为“请求发送”,然后按该顺序发送tweet结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.