前言
在研究 JQuery Ajax 發現了其實在 JQuery 1.5 之後有 Promise 的機制,所以整理了一下 。
內文
在 jQuery 1.5前,$.ajax()
呼叫的程式如下:
$.ajax({
url : targetFewSourceCodeUrl,
method : "GET",
success : function(sourceCodeDetail) {
loadTargetSuccess = true;
renderStickyWindowAndSyntaxhighlight();
},
error : function() {
loadTargetSuccess = false;
}
});
但是在 jQuery 1.5 之後就有下面這些寫法
var promise = $.ajax({
url : targetFewSourceCodeUrl,
method : "GET"
})
promise.done(SuccessMethod);
promise.fail(FailMethod);
或是串連寫法 (chain)
$.ajax({
url : targetFewSourceCodeUrl,
method : "GET"
})
.done(SuccessMethod)
.fail(FailMethod);
或是更精簡的把done
跟 fail
一起使用的then
var promise = $.ajax({
url : targetFewSourceCodeUrl,
method : "GET"
})
promise.then(SuccessMethod, FailMethod);
參考資料