什么时候用node-sqlite3closures数据库并表示?

我的问题是找出何时closures从expressjs后端数据库连接到sqlite数据库。

我基本上想要实现的是一个数据库连接,在整个服务器正常运行期间打开,并在服务器closures时closures。

var express = require('express') var app = express() var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database(data/Test.db); //use db as needed var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("Example app listening at http://%s:%s", host, port) }); //on shutdown db.close(); 

我看了一下这些威胁:

堆栈溢出:process.on('exit',callback)

Github的问题:应用程序没有app.close()

但build议的解决scheme不会为我工作,如果我用ctrl+c杀死我的快递服务器。

那么,如何处理服务器closures时打开的数据库连接将是一个“最佳实践”?

SIGINT是你正在寻找的信号; 大多数terminal在Ctrl+C上发送SIGINT

你可以尝试这样的事情 –

 process.on('SIGINT', () => { db.close(); server.close(); });