目前我有以下代码来获取两个查询的结果
dbro.many("SELECT geoname_id, country_name FROM paises WHERE locale_code=$1 LIMIT 10",data.lang)
.then(function(countriesData){
data.countries=countriesData;
dbro.many("SELECT * FROM categorias")
.then(function(categoriesData){
data.categories=(categoriesData)
console.log(data);
res.render('layout', data);
res.end();
})
.catch(function(err){
console.log("error while fetching categories data");
})
})
.catch(function(err){
console.log("error while fetching countries data",err);
});
不知何故,我认为这是不对的。如果我需要在返回回调之前获取许多查询的结果怎么办?几个 then/catch 的嵌套变得可怕。目标是在呈现页面之前准备好所有数据(在 Express 中)