Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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 node.js-使结果全局可用(请求模块)_Javascript_Node.js - Fatal编程技术网

Javascript node.js-使结果全局可用(请求模块)

Javascript node.js-使结果全局可用(请求模块),javascript,node.js,Javascript,Node.js,我正在尝试处理从请求返回的JSON结果 所以我需要在这个请求调用之外扩展它的范围。 为此,我用一个空字符串声明了data变量,并将结果分配给这个data,但它不打印结果 我怎样才能做到这一点 module.exports = function(callback) { var request = require("request") var url = "http://sheetsu.com/apis/94dc0db4" var data = ""; reque

我正在尝试处理从请求返回的JSON结果 所以我需要在这个请求调用之外扩展它的范围。 为此,我用一个空字符串声明了
data
变量,并将结果分配给这个
data
,但它不打印结果

我怎样才能做到这一点

module.exports = function(callback) {

    var request = require("request")
    var url = "http://sheetsu.com/apis/94dc0db4"
    var data = "";

    request({
        url: url,
        json: true
    }, function (error, response, body) {

        if (!error && response.statusCode === 200) {
            callback(body)

            data = body;

        }
    })

    console.log(data);


}

这是典型的异步混淆:您的
控制台.log
调用将在http请求回调之前发生

这是典型的异步混淆:您的
控制台.log
调用将在http请求回调之前发生

这是典型的异步混淆:您的
控制台.log
调用将在http请求回调之前发生

这是典型的异步混淆:您的
控制台.log
调用将在http请求回调之前发生

您的脚本按以下顺序执行:

  • 执行请求()
  • console.log(数据)
  • request()

  • 如果要打印
    数据
    ,必须在请求回调函数中执行。该模块在执行异步任务时非常有用,特别是当您需要按特定顺序执行任务并使用此请求中的数据时

    您的脚本按以下顺序执行:

  • 执行请求()
  • console.log(数据)
  • request()

  • 如果要打印
    数据
    ,必须在请求回调函数中执行。该模块在执行异步任务时非常有用,特别是当您需要按特定顺序执行任务并使用此请求中的数据时

    您的脚本按以下顺序执行:

  • 执行请求()
  • console.log(数据)
  • request()

  • 如果要打印
    数据
    ,必须在请求回调函数中执行。该模块在执行异步任务时非常有用,特别是当您需要按特定顺序执行任务并使用此请求中的数据时

    您的脚本按以下顺序执行:

  • 执行请求()
  • console.log(数据)
  • request()

  • 如果要打印
    数据
    ,必须在请求回调函数中执行。该模块在执行异步任务时非常有用,特别是当您需要按特定顺序执行任务并使用此请求中的数据时

    console.log(data)
    实际上在回调之前运行,因此数据是空的。你的最终目标是什么?你在解决什么问题,需要像那样公开数据?我需要过滤数据并以不同的方式处理它们。所以,如果数据属于A类,我需要运行另一个函数。我想在这个模块中准备好这些数据,这样就可以在路由文件中使用了。
    console.log(data)
    实际上在回调之前运行,因此数据是空的。你的最终目标是什么?你在解决什么问题,需要像那样公开数据?我需要过滤数据并以不同的方式处理它们。所以,如果数据属于A类,我需要运行另一个函数。我想在这个模块中准备好这些数据,这样就可以在路由文件中使用了。
    console.log(data)
    实际上在回调之前运行,因此数据是空的。你的最终目标是什么?你在解决什么问题,需要像那样公开数据?我需要过滤数据并以不同的方式处理它们。所以,如果数据属于A类,我需要运行另一个函数。我想在这个模块中准备好这些数据,这样就可以在路由文件中使用了。
    console.log(data)
    实际上在回调之前运行,因此数据是空的。你的最终目标是什么?你在解决什么问题,需要像那样公开数据?我需要过滤数据并以不同的方式处理它们。所以,如果数据属于A类,我需要运行另一个函数。我想在这个模块中准备好这些数据,以便可以在路由文件中使用。那么,在这种情况下,我如何使这些数据包含结果并使其在请求调用之外可用?它在请求调用之外可用,但在调用
    console.log
    时不可用。正如Marcos所解释的,您的请求回调将在
    console.log
    调用之后执行。如果不了解执行顺序,应该在谷歌上搜索“异步javascript”。接下来,有许多方法可以使
    数据
    在请求之外可用,第一个也是显而易见的方法是使用实际的
    回调
    函数。另一种方法是使用So,在这种情况下,如何使此数据包含结果并使其在请求调用外部可用?它在请求调用外部可用,但在调用
    console.log
    时不可用。正如Marcos所解释的,您的请求回调将在
    console.log
    调用之后执行。如果不了解执行顺序,应该在谷歌上搜索“异步javascript”。接下来,有许多方法可以使
    数据
    在请求之外可用,第一个也是显而易见的方法是使用实际的
    回调
    函数。另一种方法是使用So,在这种情况下,如何使此数据包含结果并使其在请求调用外部可用?它在请求调用外部可用,但在调用
    console.log
    时不可用。正如Marcos所解释的,您的请求回调将在
    console.log
    调用之后执行。如果不了解执行顺序,应该在谷歌上搜索“异步javascript”。接下来,您有许多方法可以在请求之外使用
    数据,第一个也是显而易见的方法是使用实际的
    cal