gpt4 book ai didi

node.js - Express - 为什么代码永远不会返回?

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:55 26 4
gpt4 key购买 nike

我是 Express 菜鸟,不明白:为什么下面的代码永远不会返回?它似乎只是挂着。

router.post('/post',function(req,res){

var file = "test.db"
var exists = fs.existsSync(file);
if(!exists) {
console.log("Creating DB file.");
fs.openSync(file, "w");
}
var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database(file);

db.serialize(function() {
if(!exists) {
db.run("CREATE TABLE Stuff (thing TEXT)");
}
var stmt = db.prepare("INSERT INTO Stuff(thing) VALUES (99999)");
stmt.finalize();
});

db.close();
}); //seems to hang at this line.

最佳答案

您需要调用 res.send 或 res.end 以从请求中返回某些内容并防止其挂起。

router.post('/post',function(req,res){

var file = "test.db"
var exists = fs.existsSync(file);
if(!exists) {
console.log("Creating DB file.");
fs.openSync(file, "w");
}
var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database(file);

db.serialize(function() {
if(!exists) {
db.run("CREATE TABLE Stuff (thing TEXT)");
}
var stmt = db.prepare("INSERT INTO Stuff(thing) VALUES (99999)");
stmt.finalize();
});

db.close();
res.send("<h1>Done</h1>");
}); //seems to hang at this line.

关于node.js - Express - 为什么代码永远不会返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com