Parse.Promise无法捕获错误

时间:2015-05-05 23:55:57

标签: javascript node.js parse-platform

我正在开发一个在NodeJS中使用Parse.com npm包的项目,这是一个问题:



  Parse.Promise.as(true).then(function() {
    throw new Error('here is an error');
  }).then(function(done) {
    console.log('done', done);
  }, function(err) {
    console.log('err', err);
  });




此代码应记录"错误"和"这是一个错误"。 但事实并非如此。就像这样立即抛出错误:



Error: here is an error
    at module.exports.app.get.res.title.js.css.route.noChat (/Users/Nemo/dev/workspace/snapfitWeb/lib/event.js:10:11)
    at wrappedResolvedCallback (/Users/Nemo/dev/workspace/snapfitWeb/node_modules/parse/build/parse-latest.js:4082:40)
    at /Users/Nemo/dev/workspace/snapfitWeb/node_modules/parse/build/parse-latest.js:4144:35
    at runLater (/Users/Nemo/dev/workspace/snapfitWeb/node_modules/parse/build/parse-latest.js:4127:14)
    at _.extend.then (/Users/Nemo/dev/workspace/snapfitWeb/node_modules/parse/build/parse-latest.js:4143:9)
    at module.exports.app.get.res.title.js.css.route.noChat (/Users/Nemo/dev/workspace/snapfitWeb/lib/event.js:9:26)
    at Object.<anonymous> (/Users/Nemo/dev/workspace/snapfitWeb/lib/event.js:17:3)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
&#13;
&#13;
&#13;

环境: 节点v0.10.38 express@4.12.3 parse@1.4.2

1 个答案:

答案 0 :(得分:3)

要向错误回调传达错误,请返回拒绝的承诺,如下所示:

Parse.Promise.as(true).then(function() {
    return Parse.Promise.error("here is an error");
}).then(function(done) {
    console.log('done', done);
}, function(err) {
    console.log('err', err);
});