如何在同一代码中处理同步错误和承诺错误? 这是我的代码,但我不确定它的工作正常,有什么想法吗?
helpers.list({
limit: 1
})
.then(function(results) {
// handle no results
if (results.length < 1) {
return next();
}
res.render('post/post');
})
.fail(function(error){
next(error);
})
答案 0 :(得分:0)
同步错误和承诺不会混合
我找到的最佳解决方案是抛出被拒绝的承诺,因此fail()将在最后捕获它
helpers.list({
limit: 1
})
.then(function(results) {
// handle no results
if (results.length < 1) {
// call next will go to next route , ie 404
next();
return Parse.Promise.reject('no results found')
}
res.render('post/post');
})
.fail(function(error){
// call next(error); will invoke express error handler
})