0
var sqlite_connection = new Promise(function(resolve,reject){
  new sqlite3.Database("edupages", function(err){
    if(err){reject(err)}
      else{resolve()}
  })
})

  sqlite_connection.then(
    function(){console.log('Connected to the sqlite database')},
    function(err){console.log(err)}
    )

执行代码时,控制台显示“已连接到 sqlite 数据库”。

来自 node-sqlite3 文档:

新的 sqlite3.Database(文件名,[模式],[回调])

callback(可选):如果提供,则在成功打开数据库或发生错误时调用此函数。第一个参数是一个错误对象。为空时,打开成功。如果未提供回调并且发生错误,则将在数据库对象上发出带有错误对象作为唯一参数的“错误”事件。如果打开成功,无论是否提供回调,都会发出不带参数的“打开”事件。

我是否必须为 open 事件添加事件侦听器?而不是只检查回调的第一个参数的值(即 null:表示数据库打开,或错误:表示发生错误)

如果是这样,图书馆的部分作者是否天生就是糟糕的设计?或者有更好的方法吗?

4

0 回答 0