以下是我在node.js中的代码我想知道如何在一个json中附加两个查询结果并在响应中发送json。
router.get("/get-meta", function(req, res, next){
connection.query("select id, country_name from country", function (error, results) {
if (error) res.json({"status": "failed", "message": error.message});
else res.send(JSON.stringify({ results }));
});
connection.query("select id, currency from currency", function (error, results2) {
if (error) res.json({"status": "failed", "message": error.message});
else res.send(JSON.stringify({ results2 }));
});
});
答案 0 :(得分:3)
使用async.parallel发送并行请求.async.parallel的结果将是一个结果数组(这将解决您的问题)
var async = require('async')
router.get("/get-meta", function(req, res, next){
async.parallel([
function(callback){
connection.query("select id, country_name from country", function (error, result1) {
callback(error,result1)
});
},
function(callback){
connection.query("select id, currency from currency", function (error, result2) {
callback(error,result2)
});
}
],function(err,results){
if(err){
res.json({"status": "failed", "message": error.message})
}else{
res.send(JSON.stringify(results)); //both result1 and result2 will be in results
}
})
});
答案 1 :(得分:1)