繁体   English   中英

Twitter API和节点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM