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 = "";

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

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

            data = body;

        }
    })

    console.log(data);


}

最佳答案

这是典型的异步困惑:您的 console.log 调用将在 http 请求回调之前发生。

关于javascript - node.js - 使结果全局可用(请求模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32854262/

相关文章:

javascript - 在 HTML Canvas 中悬停时显示数值

javascript - 一旦编辑了命令执行者的命令,机器人如何编辑它的消息?

javascript - 如果未提供,TypeScript 将参数设置为可选

javascript - IE8 中的 PNG 透明度问题

javascript - FullCalendar 4 - 向事件对象添加/显示附加值

javascript - Ember.js:模型的计算属性在更改时未在组件的引用中呈现

vim - 在 vim 中嵌入 node.js?

node.js - Passport js 如何配置某人保持登录状态的时间?

javascript - 一致的设备ID

node.js - 使用 html-pdf 创建 pdf 时出错