捕获错误并拒绝承诺
Catch an error and reject the promise
我需要捕获错误并拒绝下面的承诺链。
这怎么可能
var deferred = new $.Deferred();
deferred.resolve();
deferred.then(function () {
try {
throw new Error();
} catch (err) {
return $.Deferred().reject();
}
}).then(function () {
console.log('success', arguments);
}, function () {
console.log('fail', arguments);
});
在 jQuery 中被拒绝?我希望 fail
,但有 success
。
尝试使用 jQuery 1.8 版,参见 deferred.then() , jQuery 1.8 Released , MAKE DEFERRED.THEN == DEFERRED.PIPE LIKE PROMISE/A
var deferred = new $.Deferred();
deferred.resolve();
deferred.then(function () {
try {
throw new Error();
} catch (err) {
return $.Deferred().reject();
}
}).then(function () {
console.log('success', arguments);
}, function () {
console.log('fail', arguments);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
</script>
我需要捕获错误并拒绝下面的承诺链。
这怎么可能
var deferred = new $.Deferred();
deferred.resolve();
deferred.then(function () {
try {
throw new Error();
} catch (err) {
return $.Deferred().reject();
}
}).then(function () {
console.log('success', arguments);
}, function () {
console.log('fail', arguments);
});
在 jQuery 中被拒绝?我希望 fail
,但有 success
。
尝试使用 jQuery 1.8 版,参见 deferred.then() , jQuery 1.8 Released , MAKE DEFERRED.THEN == DEFERRED.PIPE LIKE PROMISE/A
var deferred = new $.Deferred();
deferred.resolve();
deferred.then(function () {
try {
throw new Error();
} catch (err) {
return $.Deferred().reject();
}
}).then(function () {
console.log('success', arguments);
}, function () {
console.log('fail', arguments);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
</script>