对于我们的众筹平台,我们在名为app.js
的文件中配置了快速服务器。
每个页面都以app.get
& res.render
,就像这样:
app.get('/some-page', function (req, res) {
res.render('some-page', {
title: 'some-title'
})
})
在我们的首页上,我们在其中一个众筹广告系列中包含查询金额,以显示当前状态。我们这样做:
app.get('/frontpage', function (req, res) {
Payment.filter({
projectName: 'testCampaign'
})
.sum("amount")
.execute().then(function (amountPledged) {
res.render('frontpage', {
amountPledged: amountPledged / 100,
})
})
})
问题,此结构使得很难对当前广告系列进行两次(或多次)查询。
我们需要在我们的首页上同时拥有两个(或更多)不同amountPledged
的方式(可能是amountPledged
和amountPledgedSecond
)。
答案 0 :(得分:1)
如果您想要两个/更多查询,那么您可以定义两个/更多查询(将返回承诺),然后只需使用promise.all
来获取所有输出。如果你的问题是我认为的那样。
你可以这样做:
app.get('/frontpage', function (req, res) {
var p1 = Payment.filter({
projectName: 'test1Campaign'
})
.sum("amount")
.execute()
var p2 = Payment.filter({
projectName: 'test1Campaign'
})
.sum("amount")
.execute()
Promise.all([p1, p2]).then(values => {
// values is an array of resolved value of respective promises
// You can manipulate the array to get your desired value(like diving all element by 100)
res.render('frontpage', {
amountsPledged: values,
})
});
})