Javascript 如何将此数据移出此内联函数的作用域?
我正在使用在节点中访问Twitter的API,但不知道如何将API中的数据分配给公共变量。github页面上的所有示例都使用这种格式。例如,我如何在此处获取console.log以打印最新的tweet,而不是0Javascript 如何将此数据移出此内联函数的作用域?,javascript,twitter,Javascript,Twitter,我正在使用在节点中访问Twitter的API,但不知道如何将API中的数据分配给公共变量。github页面上的所有示例都使用这种格式。例如,我如何在此处获取console.log以打印最新的tweet,而不是0 twit本身的一切都很好。我只是遇到了这个JS问题。您完全误解了这里的控制流 调用T.get是异步的,这意味着 x = 0; T.get('statuses/user_timeline', function(err, data, response) { x =
twit本身的一切都很好。我只是遇到了这个JS问题。您完全误解了这里的控制流 调用
T.get
是异步的,这意味着
x = 0;
T.get('statuses/user_timeline', function(err, data, response) {
x = data[0].text
});
console.log(x);
在大多数情况下,是在函数体之前执行的(因为对T.get
的异步调用被启动后,控件会立即传递给它)。实现所需功能的唯一方法是使用回调,如:
console.log(x);
当对twitter的请求完成时,将调用回调。基本上不会重复。您必须构造代码以异步工作。这需要精神上的转变。我试试这个。是的,我对node了解不多,我会研究一下异步流。
var callback = function(x) {
console.log(x);
}
T.get('statuses/user_timeline', function(err, data, response) {
callback(data[0].text);
});