Jas*_*son 5 javascript ajax jquery
这可能是一个愚蠢的错误,但在这里.
我需要在$ .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;
}
Run Code Online (Sandbox Code Playgroud)
稍后在then()链中使用doSomething():
doSomething().then(doSomethingElse).then(soOn).then(soForth);
Run Code Online (Sandbox Code Playgroud)
所以我需要能够拒绝承诺并打破链条.
帮助赞赏.
你不能通过success
回调来做到这一点.无论如何都没有理由使用它.只需使用then
:
function doSomething() {
return $.ajax({
method: "POST",
url: "/url/to/use",
data: {"value":$("#value").val()},
}).then(function(data) {
if (data.success == false) {
ConfirmMessage.showErrorMessage(data.messages[0]);
return new $.Deferred().reject().promise();
} else {
// do other stuff
}
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2805 次 |
最近记录: |