0

有没有办法为 jQuery 承诺设置默认错误函数?

我有一个异步执行的函数链,如果其中任何一个失败,我想报告错误。这是我现在必须做的:

function myErrorFunc() {
  // report error
}

doSomething.then(doSomething2(), myErrorFunc).then(doSomething3(), myErrorFunc).then( ... )

我宁愿在某个地方设置默认错误函数,然后调用

doSomething.then(doSomething2()).then(doSomething3()).then( ... );

可能的?

4

3 回答 3

2

错误通过承诺链传播。

你可以简单地写

promise.then(a).then(b).then(c).then(null, onError)
于 2013-07-11T20:57:48.723 回答
0

在我接受了别人的答案后,我找到了一个更好的答案:

function myWrapperFunction() {
    return doSomething().fail(myErrorFunction());
}

现在我所要做的就是调用myWrapperFunction().then()并且错误函数已经到位。

于 2013-08-27T17:23:47.510 回答
-1

使用自定义原型更新默认错误函数

function NewError(message) {
  this.name = "NewError";
this.message = (message || "");
}
 NewError.prototype = Error.prototype;
于 2013-07-11T22:20:15.723 回答