我正在尝试使用mysql查询的结果循环并在该循环中执行新查询。循环结果后,我想用第一个和第二个查询的结果打开一个新视图。
现在我的问题:循环al工作,我可以打开新视图,但是打开视图时我只得到第一个查询的结果和第二个查询的一部分,它在运行第二个查询之前打开视图时间。
我的代码:
function getActivitiesDate(req,res, rows)
{
var rows2 = [];
rows.forEach(function getoutput(item) {
console.log("getActivitiesDate openend");
connectionpool.getConnection(function(err, connection3) {
console.log('Trying to connect to activities date');
if (!err) {
console.log('Trying to execute query for activities now'),
connectionpool.query('SELECT * FROM CALENDAR_ACTIVITY WHERE ACTIVITY_ID =' + connection3.escape(item.ACTIVITY_ID),
function (err, rows2) {
if (err) {
console.error(err);
res.statusCode = 500;
res.send({
result: 'error',
err: err.code
});
connection3.release();
console.log('It doesnt work error 500');
}
if (rows2.length == 0) {
res.render('index', {title: 'Index - Calendar Activity not found'});
}
console.log('Show activities + dates');
// connection3.release();
});
} else {
console.error('CONNECTION error: ', err);
res.statusCode = 503;
res.send({
result: 'error',
err: err.code
});
console.log('It does not work...');
}
});
});
console.log('This is the result of rows2Result: ');
console.log(rows2);
res.render('viewUserActivities', {activities:rows, activityDates:rows2 , title: 'Created activities'});
}
“rows”属性目前包含2行(这可能更多或更少,这就是为什么我有“rows.forEach”)但我不知道如何将“rows2”的结果传递给通过foreach循环为每个结果循环后的新视图。
非常感谢任何帮助。我不清楚,或者您需要更多信息,请不要犹豫。