x = 0;
T.get('statuses/user_timeline', function(err, data, response) {
x = data[0].text
});
console.log(x);
我正在使用twit来访问节点中的Twitter API,并且无法弄清楚如何将API中的数据分配给公共变量。其github页面上的所有示例都使用此格式。例如,我如何在这里获取console.log来打印最新的推文,而不是0?
所有带有twit的东西都能正常工作。我刚刚遇到这个JS问题。
答案 0 :(得分:1)
你完全误解了控制流程。
对T.get
的调用是异步的,这意味着代码
console.log(x);
执行大多数情况在函数体之前(因为在异步调用T.get
已启动后,控件立即传递给它)。实现你想要的唯一方法是使用回调,如:
var callback = function(x) {
console.log(x);
}
T.get('statuses/user_timeline', function(err, data, response) {
callback(data[0].text);
});
随着对twitter的请求完成,将调用回调。