这是一个async.parallel方法,用于显示商店信息及其相应的图像:
function listshops(callback)
{
async.parallel([
myFirstFunction,
mySecondFunction,
], function (err,results) {
console.log(results);
});
function myFirstFunction(callback) {
client.connection.query('select * from shop',function(err,data1){
callback(null,data1);
});
}
function mySecondFunction(callback) {
client.connection.query('select * from image',function(err,data2){
callback(null,data2);
});
}
1)我的桌子=>购物和图片:http://i.stack.imgur.com/F20MU.png
2)输出我的代码。但这不是我预期的输出: http://i.stack.imgur.com/ltJpf.png
答案 0 :(得分:4)
function listshops(callback)
{
var array=[3,4];
async.each(array,function(dat,callback){
async.parallel([
function(callback){
client.connection.query('select * from shop where shopId=?',dat,function(err,data1){
callback(null,data1);
});
},
function (callback) {
client.connection.query('select * from image where shopId=?',dat,function(err,data2){
callback(null,data2);
});
}
],
function(err,data)
{
console.log(data);
});
});
}
答案 1 :(得分:1)
该程序正在为您编写的代码正常工作。
async.parallel将并行运行给定的函数数组中的所有函数,并以与函数数组中函数的顺序相同的顺序返回所有函数的结果。
根据您的要求,您只能有一个执行join sql查询的函数来提供所需的输出。