3
这可能是一个愚蠢的错误,但是在这里。
我需要在$ .ajax()调用的成功函数内部拒绝jQuery Promise。返回值“success”是一个布尔值。
function doSomething() {
var myPromise = $.ajax({
method: "POST",
url: "/url/to/use",
data: {"value":$("#value").val()},
success: function(data) {
if (data.success == false) {
ConfirmMessage.showErrorMessage(data.messages[0]);
return new $.Deferred().reject().promise();
} else {
// do other stuff
}
}
});
return myPromise;
}
的DoSomething的()在随后()链中稍后:
doSomething().then(doSomethingElse).then(soOn).then(soForth);
所以我需要能够拒绝承诺,挣脱锁链。
帮助赞赏。
在解决问题后,您不能拒绝ajax承诺。也许你可以返回另一个在ajax回调中被标记为已解析或被拒绝的promise对象,而不是返回ajax承诺本身。 – apokryfos