gpt4 book ai didi

mysql - 如何在 Node.js 中发送多个响应

转载 作者:行者123 更新时间:2023-11-29 15:14:18 24 4
gpt4 key购买 nike

如何在 Node js 中发送多个响应?在此代码中,我想发送 datadata1

function(req, res){
var classValue = req.query.classID;

var sql = "SELECT * FROM class WHERE `class_name` ='"+classValue+"'";
connection.query(sql, function(err, data){
if(data.length){
var sql1 = "SELECT * FROM book WHERE `class_id` ='"+data[0].class_id+"'";
connection.query(sql1, function(err, data1){
res.status(200).send(data1);
res.status(200).send(data);
});
}
});
}

最佳答案

调用send将结束连接,因此您只能调用一次。您可以像这样轻松地以 JSON 形式发回复杂的结构:

res.json( { data, data1 } );

请注意,您有一个 data.length 可能为零的路径,但仍需要处理。您可能会考虑这样的事情:

function(req, res, next){
var classValue = req.query.classID;
var sql = "SELECT * FROM class WHERE `class_name` ='" + classValue + "'";
connection.query(sql, function(err, data) {
if (err) return next(err); // <-- handle errors
if (data.length) {
var sql1 = "SELECT * FROM book WHERE `class_id` ='" + data[0].class_id + "'";
connection.query(sql1, function(err, data1) {
if (err) return next(err); // <-- handle errors
res.json( { data, data1 } );
});
}
else {
res.json( {data: null, data1: null} ); // or treat it as an error?
}
});
}

如果第一个查询没有给出结果是一个错误条件,那么您可以将其视为错误。请注意,我还使用 next 函数添加了错误处理(假设您使用的是 Express 路由)。

关于mysql - 如何在 Node.js 中发送多个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59823004/

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