(JQuery) Ajax Use Promise

前言

在研究 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);

或是更精簡的把donefail 一起使用的then 

var promise = $.ajax({
	  url : targetFewSourceCodeUrl,
	  method : "GET"
})
promise.then(SuccessMethod, FailMethod);

 

參考資料

 http://api.jquery.com/jquery.ajax/

http://eddychang.me/blog/javascript/56-jquery-promise.html