概述
2019独角兽企业重金招聘Python工程师标准>>>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="js/jquery-1.12.3.js"></script>
<title>play2</title>
</head>
<body>
<button id="mybtn">点击</button>
<div id="mydiv">添加数字...</div>
<script>
$(function(){
var def = $.Deferred(); //新建一个延迟对象
function func1(str){
var $p = $("<p>"+str+1+"</p>")
$("#mydiv").append($p);
}
function func2(str){
var $p = $("<p>"+str+2+"</p>")
$("#mydiv").append($p);
}
function func3(str){
var $p = $("<p>"+str+3+"</p>")
$("#mydiv").append($p);
}
def.done([func1,func2],func3); //定义延迟对象完成后执行的函数,可以是单个函数或者数组函数
$("#mybtn").click(function(e){
def.resolve("数字:"); //延迟对象执行resolve(arg),那么该延迟对象的done()里的函数将被调用,参数ar也将传给里面的每一个函数
}); //本例中,相当于执行func1("数字:"),func2("数字:"),func3("数字:")
});
</script>
</body>
</html>
下面这段出自阮一峰博客 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
deferred对象的最大优点,就是它把这一套回调函数接口,从ajax操作扩展到了所有操作。也就是说,任何一个操作----不管是ajax操作还是本地操作,也不管是异步操作还是同步操作----都可以使用deferred对象的各种方法,指定回调函数。
var def = $.Deferred(); //新建递延对象
function wait(def){
var task = function(){
def.resolve("哈话");
}
setTimeout(task,3000);
return def; //返回递延对象
}
$.when(wait(def)).done(function(str){ //$.when()只接受递延对象作为参数,因此wait函数的return def意图很明显啦
alert("我拉"+str);
})
});
转载于:https://my.oschina.net/daladida/blog/888592
最后
以上就是感动白羊为你收集整理的$.Deferred初学的全部内容,希望文章能够帮你解决$.Deferred初学所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复