gpt4 book ai didi

javascript - Node JS - mysql - 在查询的回调内部查询

转载 作者:搜寻专家 更新时间:2023-11-01 00:31:32 25 4
gpt4 key购买 nike

我想知道是否可以在另一个查询的回调中查询数据库。例如,

connection.connect();
connection.query(query, [param1, param2], function(err, rows, fields) {
// do something
connection.query(new_query, function(err, rows, fields) {
// do something else
});
});
connection.end();

我在这段代码的第 4 行收到一个 Error: Cannot enqueue Query after invoking quit. 错误。所以我想知道这是否可能。

最佳答案

问题说明:

js是逐行执行的。按顺序,这将是:

  1. connection.connect()
  2. connection.query(params...)(异步输入/输出,放置回调)
  3. connection.end()

然后,当对数据库的查询结束时,执行2.中的回调,但3.之前执行过,结束连接。所以在回调的那个点,你不能进行另一个查询,因为连接已关闭。

解决方法:

connection.end() 应该在最后一个嵌套查询中

固定代码:

connection.connect();
connection.query(query, [param1, param2], function(err, rows, fields) {
// do something
connection.query(new_query, function(err, rows, fields) {
// do something else
connection.end();
});
});

关于javascript - Node JS - mysql - 在查询的回调内部查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633639/

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