соединение с базой данных узла-sqlite3, указывающее, что база данных открыта, когда sqlite даже не установлен - PullRequest
0 голосов
/ 29 апреля 2019
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», когда выполняется код.

Из документов узла-sqlite3:

новая sqlite3.Database (имя файла, [режим], [обратный вызов])

обратный вызов (необязательно): если предусмотрено, эта функция будет вызываться, когда база данных была открыта успешно или когда произошла ошибка. Первый аргумент - это объект ошибки. Когда это ноль, открытие успешно. Если обратный вызов не предоставлен и произошла ошибка, возникает событие error с объектом ошибки в качестве единственного параметра будет передан на объект базы данных. Если открытие прошло успешно, событие «open» без параметры выводятся независимо от того, был ли предоставлен обратный вызов или нет.

Должен ли я добавить прослушиватель событий для открытого события? Вместо того, чтобы просто проверять значения первого параметра обратного вызова (т. Е. Null: означает, что база данных открыта, или error: означает, что произошла ошибка)

Если это так, то является ли изначально плохой дизайн со стороны авторов библиотеки? Или есть лучший способ сделать это?

...