expressjs 承诺和 sunc 错误处理
Posted
技术标签:
【中文标题】expressjs 承诺和 sunc 错误处理【英文标题】:expressjs promise & sunc error handling 【发布时间】:2017-01-21 08:10:31 【问题描述】:您如何处理同一代码中的同步错误和承诺错误? 这是我的代码,但不确定它工作正常,有什么想法吗?
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);
)
【问题讨论】:
【参考方案1】:同步错误和承诺不会混合
我找到的最佳解决方案是抛出被拒绝的承诺,这样 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
)
【讨论】:
以上是关于expressjs 承诺和 sunc 错误处理的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Node.js expressjs 的异步对象方法中处理未处理的承诺拒绝?
使用带有 expressjs 的 multer 上传文件时的错误处理