【问题标题】:Node.js and SQLite3Node.js 和 SQLite3
【发布时间】:2015-03-08 12:29:44
【问题描述】:

我想创建一个 Web 服务器,它将为我的移动应用程序返回数据。我将 Node.js 用于服务器,将 SQLite3 用于数据库。我创建了必须从 sql 返回数据的方法,但我不知道如何正确执行。据我所知,SQLite lib 中的所有方法都是异步的,所以我不知道如何对 DB 进行同步请求。我试过这样:

app.get('/getAllLeagues',function (req, res) {
  console.log("get")
  var obj = db.all("SELECT name FROM Leagues")
})

但是好像obj还是和db对象一样

【问题讨论】:

  • 为什么要同步进行?
  • 我不知道db.all 长什么样子,但很可能它需要一个回调作为另一个参数,您可以在其中使用res.send(results)

标签: javascript node.js sqlite


【解决方案1】:

我假设您的应用是一个快速服务器实例或类似实例。数据库查询函数带有一个回调函数,一旦查询的行准备好或发现错误,就会调用该回调函数。

app.get('/getAllLeagues',function (req, res) {
  console.log("get")
  var obj = db.all("SELECT name FROM Leagues",
    function(err, rows) {
        res.type('json');
        res.send(rows);
    });
});

为简单起见,没有错误处理。最好尝试..catch 类似的请求,以避免在找不到数据库或表的情况下使您的应用崩溃。

【讨论】:

    猜你喜欢
    • 2019-04-06
    • 2015-12-09
    • 1970-01-01
    • 2023-03-26
    • 2016-03-24
    • 2018-11-08
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多