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