У меня есть код, который выглядит примерно так (конечно, менее смешно):
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
, но мне было интересно, есть ли лучший способ сделать это.