jQuery Promise 的用法

  • 例子
  • $.when
  • 参考资料

jQuery封装的很好了,傻瓜式调用即可。

例子

	//  返回一个 promise 对象。其实 $.get 返回的就是 promise 对象,可以直接用的。我
	function promiseDemo(){
		
		var dtd = $.Deferred();

		$.get('https://jquery/browser-support/')
		.then(
			function success(response){
				// 你的代码写这里。。。
				dtd.resolve({'msg':"这里就是成功向下传递的数据"});
			},
			function error(response){
				// 你的代码写这里。。。
				dtd.reject({'msg':"这里是失败向下传递的数据"});
			}
		);
		
		return dtd.promise();
	}

	// 异步返回后触发这里
	promiseDemo()
	.done(function (data){// dtd.resolve 走这 
		console.log(data.msg);// "这里就是成功向下传递的数据"
	})
	.fail(function(data){// dtd.reject 走这 
		console.log(data.msg);// "这里是失败向下传递的数据"
	})
	.always( function() { 
		console.log("不管成功失败,都会执行这里");
	});

$.when

多个请求都完成后执行 。

// callback(data, textStatus, jqXHR)
$.when($.get('./a.json'), $.get('./b.json')).done(function ([a_data], [b_data]) {
	console.log("a_data", a_data);
	console.log("b_data", b_data);
});

参考资料

官网API :https://api.jquery/category/deferred-object/
中文文档:http://jquery.cuishifeng/index.html (官网的排版真可以参考一下这个,方便很多)

更多推荐

jQuery Promise 的用法