0
我正在与一个NodeJS项目,我需要更新一个表,然后重新启动服务。不幸的是,该服务在表更新之前重新启动。所以我认为这是一个正常的异步行为。如何同步sqlite3更新与命令执行
我该如何同步这个?
var sqlite3 = require('sqlite3').verbose();
var express = require('express');
var app = express();
var router = express.Router();
var db = new sqlite3.Database('/home/test/testApp.db', 'OPEN_READWRITE');
router.route('/')
.get(function(req, res) {
res.render('index', { data: dbConfigRow });
})
.post(function(req, res) {
// console.log(req.body);
db.serialize(function() {
for (var key in req.body) {
db.run("UPDATE config SET " + key + "='" + req.body[key] + "'");
}
exec('systemctl restart demoApp');
});
res.json(200);
});
工程就像一个魅力! 'db.serialize'函数的末尾缺少圆括号,除了一切正常。 – JavaCake
啊,错过了,谢谢!我编辑了我的答案以包含括号。如果您发现我的答案解决了您的问题,请接受它。否则,让我知道我是否可以帮助其他任何事情! – Brennan