【发布时间】:2017-02-22 05:34:55
【问题描述】:
我有一个模型intent,它与conditions 和links 和nodes 有一个hasMany 关联。 nodes 本身也与 links 有关联。
通过快速路线,我想在一个对象中获取所有信息。我现在这样做的方式非常回调和不可读。它有效,但我希望有更好的方法来编写这类东西。
app.get('/api/intents/:id', function(req, res) {
models.intent.findOne({
where: {
id: req.params.id
}
})
.then(function(intent) {
intent.getConditions() // call generated function from intent model for conditions
.then(function(conditions) {
intent.getLinks() // then call generated function from intent model for links
.then(function(links) {
intent.getNodes() // then call generated function from nodes model for links
.then(function(nodes) {
Promise.map(nodes, function(node) {
return node.getLinks() // Even deeper nested and getting out of hand
.then(function(links) {
node.setDataValue('links', links)
})
})
.then(function() {
intent.setDataValue('conditions', conditions)
intent.setDataValue('links', links)
intent.setDataValue('nodes', nodes)
res.json(intent)
})
})
})
})
})
})
【问题讨论】:
标签: javascript express sequelize.js