【发布时间】:2017-05-16 19:30:07
【问题描述】:
我正在尝试查询 mysql 数据库两次,第二次,对于第一次的每个结果多次,但我无法弄清楚如何在继续之前等待第二次查询的结果
admin.get('/', function (req, res) {
mysqlQ("SELECT I.ID as ID, C.ID AS CID, I.PD AS PostDate, C.Name AS CatName, U.UserName AS UserName, I.Title AS Title, I.Post AS PostData FROM categories AS C JOIN INAT AS I ON C.ID = I.Category JOIN Users AS U on U.ID = I.User").then(function (INAT) {
INAT.forEach(function (team) {
team.time = moment(team.PostDate).format("DD-MM-YYYY HH:mm:ss");
team.TS = moment(team.time, "DD-MM-YYYY HH:mm:ss").fromNow();
mysqlQ("SELECT I.ID AS InatID, J.Name AS JobTitle, C.Name AS Category FROM `Jobs` AS J JOIN Jobs2INAT AS J2I ON J.ID = J2I.JobsID JOIN INAT AS I ON I.ID = J2I.INATID JOIN categories AS C on C.ID = J.Categories WHERE I.ID = " + team.ID).then(function (jobs) {
team.jobs = jobs;
});
});
var context = {
INAT: INAT
};
var homeTemplate = pug.compileFile(__dirname + '/templates/home.pug');
var html = homeTemplate(context);
res.send(html);
});
})
【问题讨论】:
-
How do I return the response from an asynchronous call? 的可能重复 - 虽然此代码是 NodeJS 而不是 AJAX,但同样的原则适用
标签: javascript mysql sql node.js express