【发布时间】:2018-01-02 03:54:12
【问题描述】:
这是我的幼稚代码:
db.projects.find_one(project_id, user_id)
.then(project => {
if (!project) {
req.flash('info', 'Project not found');
res.redirect('./projects');
} else {
db.codifier.get(project.project_id)
.then(codifier => {
codifier = build_codifier(codifier);
res.render('project', {project: project, codifier: codifier})
})
}
})
所以基本上,我想获得一个项目,如果找到 - 我想收集一些相关数据,即编码器,到单独的结果集中,所以我可以用 {project: project, codifier: codifier }。
我知道嵌套的 .then 语句看起来很糟糕......有没有更好的方法来做到这一点?谢谢!
【问题讨论】:
-
不,嵌套的
then语句不一定是坏的,只要你正确地return它们以便你可以链接它们。在您的情况下-条件下的异步调用-它们甚至是不可避免的。 -
你可以试试类似这个的方法:stackoverflow.com/questions/39805736/…
标签: node.js promise pg-promise