如何使用 Q 和 JS 捕获或失败来处理错误
How to handle errors using Q and JS catch or fail
我的代码:
Question.find({
_id : req.headers['questionid']
}, {
question : 1,
tags : 1
}, function(req, foundQ) {
// doSome stuff with foundQ
}).then(function(foundQ) {
//some more action
});
<小时 />我的问题 :
如果 mongoDB 查找调用无法从 id 中找到问题,我不希望调用.then
部分。我希望最后都跳到失败块。
我试过添加 .fail(function() { });
和最后.catch(function() { });
,但这似乎不起作用。
我特别需要做什么?为什么失败/捕获不起作用?
否则。我正在使用 Q - 里面有什么东西可以使用吗?
谢谢。
你可以做这样的事情:
Question.find({
_id : req.headers['questionid']
}, {
question : 1,
tags : 1
}, function(req, foundQ) {
if(!foundQ){
return q.reject("I don't found anything");
}
// doSome stuff with foundQ
}).then(function(foundQ) {
//some more action
});
mongo 节点驱动程序的事件当查询返回空时不要抛出错误,如果结果未定义,您可以在下一个"then"中"模拟"错误。
相关文章:
- Html<输入模式>使用JavaScript处理-超过时失败
- 移动优先 - 加密缓存成功和失败处理程序
- 当表单验证失败时,我将如何最好地处理下一个事件
- 处理 HTTP 请求失败
- 处理从 CDN 加载资源失败或缓慢的问题
- RequireJS:如何处理传递依赖项失败
- rsvp.js 如何处理被拒绝的承诺和失败回调链
- 在 RequireJS 中处理先决条件加载失败需要功能
- 如何使用 Q 和 JS 捕获或失败来处理错误
- 对折线进行动画处理失败,并显示经度/经度数组
- 在导航中对活动项目背景进行动画处理失败
- 为什么 Mocha 在报告者处理完测试失败之前退出
- 处理失败的 breezejs 保存
- 实例化app模块失败.处理步骤为什么
- 创建新的MeanIO包失败.处理步骤需要依赖'访问'
- 在react中显示状态值失败.处理步骤
- 加载模块失败.处理步骤
- 获取服务器控制id失败.处理步骤
- 启动MongoDB服务器失败.处理步骤mongodb的dbxit: rc: 48错误
- 远程脚本失败处理-JavaScript