我正在开发一个在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;
环境: 节点v0.10.38 express@4.12.3 parse@1.4.2
答案 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);
});