Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将此数据移出此内联函数的作用域?_Javascript_Twitter - Fatal编程技术网

Javascript 如何将此数据移出此内联函数的作用域?

Javascript 如何将此数据移出此内联函数的作用域?,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 =

我正在使用在节点中访问Twitter的API,但不知道如何将API中的数据分配给公共变量。github页面上的所有示例都使用这种格式。例如,我如何在此处获取console.log以打印最新的tweet,而不是0


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);
});