私はこのようなコードを持っています(もちろん、それほどばかげていません):
var d = $.Deferred();
d.pipe(function() {
throw "a";
}).then(function() {
console.log("good!");
}, function(e) {
console.log("I want the exception here");
});
d.resolve();
問題は、で例外をスローしても、.pipe
doneFilter
jQueryがそれを失敗と見なすようには見えず、その結果、でキャッチされない例外が発生することdoneFilter
です。
別の方法は、新しい遅延を作成し、の周りにtry-catchブロックをスローすることdoneFilter
ですが、それを回避するためのより良い方法があるかどうか疑問に思いました。