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 ドキュメントから:
new sqlite3.Database(ファイル名、[モード]、[コールバック])
callback (オプション): 指定すると、データベースが正常に開かれたとき、またはエラーが発生したときに、この関数が呼び出されます。最初の引数はエラー オブジェクトです。null の場合、オープンに成功しました。コールバックが提供されず、エラーが発生した場合、唯一のパラメーターとしてエラー オブジェクトを含む「エラー」イベントがデータベース オブジェクトで発行されます。開くことが成功した場合、コールバックが提供されたかどうかに関係なく、パラメーターのない「open」イベントが発行されます。
open イベントのイベント リスナーを追加する必要がありますか? コールバックの最初のパラメータの値をチェックする代わりに (つまり、null: データベースが開かれたことを意味し、error: エラーが発生したことを意味します)
もしそうなら、それはライブラリの作成者の一部の本質的に悪い設計ですか? または、それを行うより良い方法はありますか?