async.parallel用于多个数据

这是一个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)输出得到我的code.But这不是我期望的输出: http ://i.stack.imgur.com/ltJpf.png

3)预期产出: http : //i.stack.imgur.com/xAmvu.png

 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); }); }); } 

该程序正在为你写的代码正确工作。

async.parallel将并行运行给定的函数数组中的所有函数,并以与函数数组中函数的顺序相同的顺序返回所有函数的结果。

为了您的要求,您可以只有一个函数执行连接sql查询给出所需的输出。