当前位置: 首页 > 知识库问答 >
问题:

如何从不同的node.js代码中获取数据

柯昆杰
2023-03-14

在db.js中有一个代码片段,如下所示,

    exports.asyncGetAllData = function () {
        connection.connect(function(err) {
            connection.query(sqlGetAllData, function (err, result) {
                if (err) reject(err);
                else
                {
                    //console.log(result);
                }
                });
            });
};

并且我想获得当我在app.js中调用函数时的结果数据,如下所示。

    app.get('/test/getPriceTrend', function(req, res) {
    console.log('SERVER::getPriceTrend');
    console.log(req.url);
    var data = db_connection.asyncGetAllData(); //data is undefined
    console.log(data);
    res.setHeader('Accept', 'application/json');
    res.writeHead(res.statusCode);
    //The following piece of code will send information from the database
    res.write(JSON.stringify({"hello":"world"}));
    res.end();
});

正如您所看到的,当我试图从db.js获取数据时,它在控制台窗口中显示“the data is undefined”。我该如何解决这个问题?有什么建议吗?

共有1个答案

子车青青
2023-03-14

最简单的方法是创建一个回调函数,将其传递给AsyncGetAllData()

您的函数看起来更像这样:

 exports.asyncGetAllData = function (callback) {
    connection.connect(function(err) {
        connection.query(sqlGetAllData, callback)
    })
}

然后在app.js中将回调传递到:

db_connection.asyncGetAllData(function(err, result{
     if (err) reject(err);
     else
     {
             //console.log(result);
     }
})
 类似资料:
  • 问题内容: 我正在尝试让我的函数返回http get请求,但是,无论如何,它似乎在?scope中丢失了。我对Node.js不熟悉,因此不胜感激 问题答案: 当然,您的日志会返回:您在完成请求之前先进行日志。问题不是范围,而是 异步性 。 是异步的,这就是为什么它将回调作为参数的原因。做您在回调中要做的事情(传递给的):

  • 问题内容: 我想获取使用表单从页面传递的数据,并在重定向的页面中使用该数据。 我的客户端有以下表​​格: 我的服务器中有这个脚本: 问题答案: 使用)中间件: 然后,表单值将在req.body上: 设置允许bodyParser接受包括嵌套对象在内的表单数据中的json之类的数据。例如,使用javascript发送而不是使用传统HTML格式发送的名称/值对。如果不需要,可以将扩展值设置为false。

  • 问题内容: 如何从代码块中获取电流? 仅具有: 我可以用代替一个函数,但是有内置功能吗? 问题答案: 使用os.Getenv 从文档: Getenv检索由键命名的环境变量的值。它返回值,如果不存在该变量,则该值为空。 例: Go 1.8+更新 Go 1.8具有通过go / build导出的默认GOPATH:

  • 问题内容: 我有一个ResultSet返回不同类型的数据。该查询是动态构造的,因此在编译时,我不知道查询将返回哪种类型的值。 假设所有结果都是字符串,我编写了以下代码。但是我也想获取每个值的类型。我怎样才能做到这一点? 以下是我编写的代码。 此时,我想获取列类型,并根据数据类型获取值。 问题答案: 所述返回一个指定列类型值发现。 例:

  • 问题内容: 假设我有以下内容: 能够获得所有不同年龄的数组的最佳方法是什么,这样我得到以下结果数组: 有什么办法可以替代地构造数据或更好的方法,这样我就不必遍历每个数组来检查“ age”的值并针对另一个数组检查其是否存在,如果没有,可以添加它? 如果有某种方法,我可以不重复就退出不同的年龄… 我想改善当前无效的方法…如果这意味着不是“数组”是对象数组,而是带有一些唯一键(即“ 1,2,3”)的对象

  • 我试图从MySQL中获取一些数据,并使用PHP对其进行回显。下面是我使用的代码。请检查一下密码,告诉我出了什么问题。 我得到的这段代码的输出是: 名姓电子邮件街城市州邮编电话生日;//mysqli_fetch_array将从查询//返回一行数据,直到没有其他数据可用($row=mysqli_fetch_array($响应)){echo '' . $row['first_name']。".$row[