gpt4 book ai didi

javascript - 如何正确地在node.js中使数据库流动

转载 作者:行者123 更新时间:2023-11-29 08:48:32 26 4
gpt4 key购买 nike

我是 Node.js 世界的新手,所以我的问题对你来说可能很奇怪。我有一个非常简单的场景:1)在数据库中插入行,获取该行的ID2)插入多行,每行都使用我们之前获得的ID

流程存在问题...在我们获得阶段 1 的响应之前,阶段 2 就开始了,或者在我们完成插入之前所有阶段都已完成(调用了connection.end())。

我尝试使用异步模块,但它对我没有帮助我们看一下代码:

// open connection

conn.query('INSERT INTO receipt SET ?', {postid: postGUID, body: body}, function(err, result) {
if (err) throw err;
console.log("ID: "+result.insertId );

conn.query('INSERT INTO imgs SET ?', {postid: result.insertId, link: imgSrc}, function(err, result) {
if (err) throw err;

});
});

conn.end( function(err) {
console.log("CLOSE CONNECTION");
console.log(err);
});

你能帮我解决一下吗?

最佳答案

由于 conn.query 很可能是异步的,因此您将在完成查询之前关闭连接。快速修复可能如下。

conn.query('INSERT INTO receipt SET ?', {postid: postGUID, body: body}, function(err, result) {
if (err) throw err;
console.log("ID: "+result.insertId );

conn.query('INSERT INTO imgs SET ?', {postid: result.insertId, link: imgSrc}, function(err, result) {
if (err) throw err;

conn.end( function(err) {
console.log("CLOSE CONNECTION");
console.log(err);
});
});
});

更好的解决方法可能是在进程结束时关闭连接。

关于javascript - 如何正确地在node.js中使数据库流动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11917194/

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