【发布时间】:2013-05-24 11:58:51
【问题描述】:
我使用Q.js 来表示承诺。
我想知道当 Q-promise 失败时是否可以快速格式化/更改错误消息。
考虑一个人为的例子:
return Q.when(//$.ajaxpromise for instance).then(function(result){
//handle result
}).fail(function(err){
//somehow change err (returned from $.ajax) to something
//sensible (say the statuscode + responseText) and
//push it up the callstack
});
当然我可以做以下事情,但感觉有点麻烦:
var deferred = Q.defer();
Q.when( //$.ajaxpromise for instance).then(function(result){
//handle result
deferred.resolve();
}).fail(function(err){
deferred.reject(new Error(err.responseText));
});
return deferred.promise;
无论如何要更优雅地做到这一点?
【问题讨论】:
标签: asynchronous promise q