我有一个小问题,似乎我无法解决。我想将两个查询传递给我的add_people.ejs。问题是我只能传递一个,但我不知道如何传递其他查询。例如:
var People = require("./models/people.js")
var Cities = require("./models/cities.js")
app.get("/", function(req, res){
People.find({})
.then(function(data){
res.render("add_people", {data: data});
console.log(data);
})
.catch(function(err){
console.log(err);
})
})
app.listen(3000, function(){
console.log("Server has started");
})
上述工作完美,但是,我还想传递另一个带有城市列表的查询,但我不知道如何将该变量传递给我的ejs。
任何帮助将不胜感激:)
谢谢!
答案 0 :(得分:1)
Promise.all
将允许您等待一系列承诺得到解决。已解析的值将是这些承诺的数组,以相同的顺序解析。
var People = require("./models/people.js")
var Cities = require("./models/cities.js")
app.get("/", function(req, res){
Promise.all([
People.find({}),
Cities.find({}),
])
.then(function(results){
res.render("add_people", {
data: {
people: results[0],
cities: results[1],
}
});
console.log(results);
})
.catch(function(err){
console.log(err);
})
})