我设法创建一个模块来处理所有数据库调用。它使用这个lib: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);
});
});
},
那么,有没有什么方法可以在数据库准备就绪时导出我的模块,如果它还不存在则完全创建?
有没有人看到解决“异步”问题的方法?
答案 0 :(得分:0)
我不这么认为。如果你使它同步,那么你就是在取消优势。 Javascript函数就是这样的。这种情况称为callback hell。如果您在管理回调时遇到问题,那么您可以使用这些库:
请参阅这些指南以了解异步编程的基础知识
答案 1 :(得分:0)