执行两次数据库查询和计算,分别对应calculate1()和calculate2()。 下面
Promise.all写法,要不就全部返回正确结果,要不就都返回错误信息。 如何在返回
错误的时候,返回部分正确的结果?
谢谢
app.get('/api/doAll/, function(req, res) {
Promise.all(
[
new Promise(function(resolve, reject) {
// access mongodb and make some calculation
var data1;
if (calculate1(data1)) {
resolve(data1);
}
else {
reject("error1");
}
}),
new Promise(function(resolve, reject) {
// access mongodb and make some calculation
var data2;
if (calculate2(data2)) {
resolve(data2);
}
else {
reject("error2");
}
})
]
).then(function(data) {
res.end(JSON.stringify(data);
}).catch(function(error) {
res.status = 500;
});
});
--
FROM 107.178.194.*