我设法创建了一个模块来处理所有数据库调用。它使用这个库: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);
});
});
},
那么,只有当数据库准备好并完全创建(如果它还不存在)时,我有什么方法可以导出我的模块?
有没有人看到解决“异步”问题的方法?