【问题标题】:Node.js // A module to manage a sqlite databaseNode.js // 一个管理 sqlite 数据库的模块
【发布时间】:2013-04-30 12:06:49
【问题描述】:

我设法创建了一个模块来处理所有数据库调用。它使用这个库:https://github.com/developmentseed/node-sqlite3

我的问题如下。 每次我打电话时,我都需要确保数据库存在,如果不存在则创建它。 另外,由于所有调用都是异步的,我最终会在回调函数中加载大量函数......等等。

看起来像这样:

getUsers : function (callback){
    var _aUsers = [];
    var that = this;
    this._setupDb(function(){
        var db = that.db;

        db.all("SELECT * FROM t_client", function(err, rows) {
            rows.forEach(function (row) {
                _aUsers.push({"cli_id":row.id,"cli_name":row.cli_name,"cli_path":row.cli_path});

            });
            callback(_aUsers);
        });
    });
},  

那么,有没有什么方法可以只在数据库准备好并且完全创建(如果它还不存在)时导出我的模块?

有没有人发现解决“异步”问题的方法?

【问题讨论】:

    标签: node.js sqlite node-modules


    【解决方案1】:

    您也可以尝试使用promisesfibers ...

    【讨论】:

    • 谢谢,我会看看这个!
    【解决方案2】:

    我不这么认为。如果你让它同步,你就失去了优势。 Javascript函数就是这样的。这种情况称为callback hell。如果您在管理回调时遇到问题,那么您可以使用这些库:

    查看这些指南以了解异步编程的基础知识

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 2012-08-26
      相关资源
      最近更新 更多