jQuery的deferred对象详解--源码
来源:互联网 发布:淘宝的淘口令怎么打开 编辑:程序博客网 时间:2024/05/29 07:44
<html> <head> <title>AngularJS2</title> <style type="text/css"> body{ background-color: #88A5D1;} </style> <script src="../../static/js/jquery-1.7.1.js" type="text/javascript"></script> <script type="text/javascript"> var log = function(n){ console.info(n); }; var info_o_success = function(n){ console.info("old:->success-"+n); }; var info_o_error = function(n){ console.error("old:->error-"+n); }; var info_n_success = function(n){ console.info("new:->success-"+n); }; var info_n_function = function(n){ console.info("new:->more function callback-"+n); }; var info_n_error = function(n){ console.error("new:->error-"+n); }; $(function(){ init_old(); init_new(); }); var init_old = function() { $.ajax({ url : "test.html", success : function() { info_o_success(1); }, error : function() { info_o_error(1); } }); } var init_new = function() { //# functon 1 $.ajax("test.html") .done(function() { info_n_success(1); }) .fail(function() { info_n_error(1); }); //# functon 2 $.ajax("test.html") .done(function() { info_n_success(21); }) .fail(function() { info_n_error(2); }) .done(function() { info_n_function(22); }); //# functon 3 $.when($.ajax("test1.html"), $.ajax("test2.html")) .done(function() { info_n_success(3); }) .fail(function() { info_n_error(3); }); //# function 4 $.when(wait4()) .done(function() { info_n_success(4+"-right now"); }) .fail(function() { info_n_error(4); }); //# function 5 $.when(wait5(dtd5)) .done(function() { info_n_success(5+'-wait for methord complate'); }) .fail(function() { info_n_error(5); }); //# function 52 $.when(wait52(dtd52)) .done(function() { info_n_success(52+'-wait for methord complate'); }) .fail(function() { info_n_error(52+'-in here!'); }); //# function 6 $.when(wait6(dtd6)) .done(function() { info_n_success(6 + '-when use ‘dtd.resolve()’ bllow,right now complate'); }) .fail(function() { info_n_error(6); }); dtd6.resolve(); //# function 6 //# function 7 var d7 = wait7(dtd7); // 新建一个d对象,改为对这个对象进行操作 $.when(d7) .done(function() { info_n_success(7+'-wait for methord complate'); }) .fail(function() { info_n_error(7); }); //d7.resolve(); // 此时,这个语句是无效的 //# function 8 $.when(wait8()) .done(function() { info_n_success(8 + '-wait for methord complate'); }) .fail(function() { info_n_error(8); }); //# function 9 $.Deferred(wait9) .done(function() { info_n_success(9+'-wait for methord complate'); }) .fail(function() { info_n_error(9); }); //# function 10 var dtd10 = $.Deferred(); // 生成Deferred对象 var wait10 = function(dtd10) { var tasks = function() { log("new-10-methord completed!"); dtd10.resolve(); // 改变Deferred对象的执行状态 }; setTimeout(tasks, 4000); }; dtd10.promise(wait10); wait10.done(function() { info_n_success(10 + '-wait for methord complate'); }).fail(function() { info_n_error(10); }); wait10(dtd10); //# function 10 //# function 11 $.when($.ajax("test11.html")) .then(function() { log("new-11-success"); }, function() { log('new-11-error'); }); //# function 12 $.ajax("test12.html") .always(function() { log("new-12-methord completed!"); }); } // init end var wait4 = function() { var tasks = function() { log("new-4-methord completed!"); }; setTimeout(tasks, 3000); }; var dtd5 = $.Deferred(); // 新建一个Deferred对象 var wait5 = function(dtd5) { var tasks = function() { log("new-5-methord completed!"); dtd5.resolve();//改变Deferred对象的执行状态 }; setTimeout(tasks, 3000); return dtd5; }; var dtd52 = $.Deferred(); // 新建一个Deferred对象 var wait52 = function(dtd52) { var tasks = function() { log("new-52-methord completed!"); dtd52.reject();//改变Deferred对象的执行状态 }; setTimeout(tasks, 3000); return dtd52; }; var dtd6 = $.Deferred(); // 新建一个Deferred对象 var wait6 = function(dtd6) { var tasks = function() { log("new-6-methord completed!"); dtd6.resolve();//改变Deferred对象的执行状态 }; setTimeout(tasks, 3000); return dtd6; }; var dtd7 = $.Deferred();//新建一个Deferred对象 var wait7 = function(dtd){ var tasks = function(){ log("new-7-methord completed!"); dtd.resolve();//改变Deferred对象的执行状态 }; setTimeout(tasks,3000); return dtd.promise();//返回promise对象 }; //# function 8 var wait8 = function(){ var dtd = $.Deferred();//在函数内部,新建一个Deferred对象 var tasks = function(){ log("new-8-methord completed!"); dtd.resolve();//改变Deferred对象的执行状态 } setTimeout(tasks,3000); return dtd.promise(); // 返回promise对象 }; //# function 9 var wait9 = function(){ var dtd = $.Deferred();//在函数内部,新建一个Deferred对象 var tasks = function(){ log("new-9-methord completed!"); dtd.resolve();//改变Deferred对象的执行状态 } setTimeout(tasks,3000); return dtd.promise(); // 返回promise对象 }; </script> </head> <body> <h1>Hello AngularJS 2</h1> </body></html>
阅读全文
0 0
- jQuery的deferred对象详解--源码
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- jQuery的deferred对象详解
- docker常用命令
- 【Oracle 12c ASM专题】我的第一个Flex Diskgroup
- python——ubuntu下[Error 24: too many open files]的解决方法
- Centos7上安装mysql数据库使用--yum命令
- 自定义VIEW,可拖动的控件
- jQuery的deferred对象详解--源码
- Html文件的Head中的缓存设置
- linux下将一个目录下的所有文件拷贝到另一个大文件中,并把大文件拆分成原来的小文件,大小,内容,名字不变
- proxool详细配置
- 几种基本排序的实现:选择排序,冒泡排序,插入排序,堆排序,快速排序,归并排序
- SQL 循环语句 while 介绍 实例
- ES6数字扩展
- c与c++的不同之处(主要7点)
- php防止csrf