关于deferred
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<title>Deffered</title>
<script type="text/javascript" src="jquery-1.11.0.js"></script>
<script>
//参考链接:http://javascript.ruanyifeng.com/jquery/deferred.html
//http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
//http://api.jquery.com/category/deferred-object/ // 四个状态,执行中,已完成,失败了,成败皆可
// 两个需求,多个异步完成一起处理;异步同步化链式处理 // 异步同步化链式处理
var wait = function(dtd) {
var dtd = $.Deferred();
var tasks = function() {
console.log("执行完毕");
dtd.resolve("+1");
// dtd.reject("-1");
};
setInterval(function() {
dtd.notify("0");
}, 200); setTimeout(tasks, 5000);
return dtd.promise();
}; $.when(wait()).then(function(x) {
console.log("成功回调" + x);
var dtd = $.Deferred();
var tasks = function() {
dtd.resolve("+2");
// dtd.reject("-2");
}; setTimeout(tasks, 3000); return dtd.promise();
}, function(x) {
console.log("失败回调" + x);
}, function(x) {
console.log("操作还没有完成" + x);
}).then(function(x) {
console.log("再次成功回调" + x);
}).always(function() {
console.log("成功与否总是回调这个函数 ");
});
</script> </head> <body>
</body> </html>
关于deferred的更多相关文章
- jQuery之Deferred源码剖析
一.前言 大约在夏季,我们谈过ES6的Promise(详见here),其实在ES6前jQuery早就有了Promise,也就是我们所知道的Deferred对象,宗旨当然也和ES6的Promise一样, ...
- jquery1.7.2的源码分析(三)$.Deferred
例子的详细讲解 Filter Resolve var filterResolve = function() { var defer = $.Deferred(), filtered = defer.t ...
- jQuery 2.0.3 源码分析 Deferred(最细的实现剖析,带图)
Deferred的概念请看第一篇 http://www.cnblogs.com/aaronjs/p/3348569.html ******************构建Deferred对象时候的流程图* ...
- 移动web app开发必备 - 异步队列 Deferred
背景 移动web app开发,异步代码是时常的事,比如有常见的异步操作: Ajax(XMLHttpRequest) Image Tag,Script Tag,iframe(原理类似) setTimeo ...
- 移动web app开发必备 - Deferred 源码分析
姊妹篇 移动web app开发必备 - 异步队列 Deferred 在分析Deferred之前我觉得还是有必要把老套的设计模式给搬出来,便于理解源码! 观察者模式 观察者模式( 又叫发布者-订阅者模 ...
- 自用迷你版的Deferred
啥也不说贴代码,项目用 /** * 迷你版的deferred */ function Deferred(func) { if (this instanceof Deferred === false) ...
- jQuery 2.0.3 源码分析 Deferred概念
JavaScript编程几乎总是伴随着异步操作,传统的异步操作会在操作完成之后,使用回调函数传回结果,而回调函数中则包含了后续的工作.这也是造成异步编程困难的主要原因:我们一直习惯于“线性”地编写代码 ...
- jQuery源码分析系列(31) : Ajax deferred实现
AJAX的底层实现都是浏览器提供的,所以任何基于api上面的框架或者库,都只是说对于功能的灵活与兼容维护性做出最优的扩展 ajax请求的流程: 1.通过 new XMLHttpRequest 或其它的 ...
- 延时调用--deferred.js原码分析
有些时候,我们需要等待上一个操作完成之后,才能进行下一步的操作.比如Ajax实现自动提交表单操作的时候,程序需要等待,一旦有返回结果了,则继续进行一下步操作. 这时deferred.js这个库就产生了 ...
- Deferred在jQuery和Angular中的使用与简单实现
Deferred在jQuery和Angular中的使用与简单实现 Deferred是在jQuery1.5版本中加入的,并且jQuery使用它完全重写了AJax,以前也只是偶尔使用.但是上次在使用Ang ...
随机推荐
- 【secureCRT】如何在secureCRT上设置常用的快捷输出按钮栏
转自:http://jingyan.baidu.com/article/5d6edee2f32de199eadeec25.html 方法/步骤 打开secureCRT软件,单击菜单栏上面的[查看] ...
- MAC常用快捷键
1.F11 用于当前界面与桌面进行切换,Command-M 最小化窗口,Option-Command-M 最小化所有窗口,Command-数字 切换数字指定的网页列表 Shift-Command-D ...
- struts2结果类型
struts2结果类型: 结果类型 描述 前request域属性是否丢失 1 dispatcher 用于与jsp整合的结果类型.默认结果类型. 2 chain Action链式处理结果类型.前一个Ac ...
- Nagios监控磁盘
1.查看check_disk脚本 [oracle@rhel5 ~]$ /usr/local/nagios/libexec/check_disk --h check_disk v1.) Copyrigh ...
- ServerMediaSession::generateSDPDescription分析
//顾名思义,就是用来生成sdp描述信息的. char* ServerMediaSession::generateSDPDescription() { //获取本地IP地址 AddressString ...
- 上传文件时,Request报文头不同浏览器会产生不同的content-type
选择一个zip文件上传,用IE看的报文头是image/jpeg,用chrom看是application/octet-stream. 第一次遇到这个类型的content-type,百度了一下, octe ...
- weblogic远程调试
修改 bin/startWebLogic.cmd 增加红字部分,其中9999是调试监听端口,然后可以连接这个端口进行远程调试 set JAVA_DEBUG=-Xdebug -Xnoagent -Xru ...
- Android GridView 第一个Item 点击没反应
@Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHo ...
- Basic 分类: POJ 2015-08-03 15:49 3人阅读 评论(0) 收藏
Basic Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 905 Accepted: 228 Description The p ...
- 在opencv中实现中文输出
http://pan.baidu.com/s/1hrQTWDe 已经成功 ; 来自为知笔记(Wiz)