Promise与Defer认识
1、deffer对象:jquery的回掉函数解决方案;含义是延迟到未来某个点再执行;
$.ajax( "test.php" ) .done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) |
$.ajax( "test.php" ) .done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) .done( function () { console.log( "success two" ); }) |
$.when($.ajax( "test.php" ), $.ajax( "test2.php" )) .done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) |
var dtd = $.Deferred(); // 新建一个deferred对象 var wait = function (dtd) { var tasks = function () { alert( "执行完毕!" ); dtd.resole(); // 改变deferred对象的执行状态从”未完成“改为“已完成”,从而触发done()方法; // dtd.reject(); // 从“未完成”改为“已失败”,触发fail()方法; } setTimeout(tasks, ,5000); return dtd; } $.when(wait(dtd)) .done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) // dtd.resolve() 可以立即改变状态,5s后再触发多一次 |
var wait = function () { var dtd = $.Deferred(); // 新建一个deferred对象 var tasks = function () { alert( "执行完毕!" ); dtd.resole(); // 改变deferred对象的执行状态从”未完成“改为“已完成”,从而触发done()方法; } setTimeout(tasks, ,5000); return dtd.promise(); // 返回promise对象 }; $.when(wait()) .done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) |
$.Deferred(wait) // 接受一个函数名作为参数,注意是函数名 .done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) |
var dtd = $.Defferred(); var wait = function (dtd) { var tasks = function () { alert( "执行完毕!" ); dtd.resole(); // 改变deferred对象的执行状态从”未完成“改为“已完成”,从而触发done()方法; } setTimeout(tasks, ,5000); } dtd.promise(wait); wait.done( function () { console.log( "success" ); }) .fail( function () { console.log( "fail" ); }) wait(dtd); |
Promise与Defer认识的更多相关文章
- 关于defer.promise.then 异步的一个疑问 | 用柯里化做promise | 用递归做promise
疑问:感觉会报错,因为执行到defer.promise.then这时候还没到defer.resolve,因为异步读文件,总归会慢 解答:先执行defer.promise.then,是给callback ...
- promise的学习
为了解决回调地狱的问题,所以出现了promise的设计思想. promise的三种状态: pending 等待状态 resolved 完成状态 rejected 拒绝状态 promise的三种状态,只 ...
- Javascript Promise 学习 (中)
时隔多日,对promise有了多一点点的了解. 最近用angularjs 做开发,所以研究了一下它的 $q 功能不算很强大,算是简化版的 Q.js 参考了一下源码,不过我的等级还差很多... 作为学习 ...
- Node.js最新技术栈之Promise篇
前言 大家好,我是桑世龙,github和cnodejs上的i5ting,目前在天津创业,公司目前使用技术主要是nodejs,算所谓的MEAN(mongodb + express + angular + ...
- 160701、理解 Promise 的工作原理
Javascript 采用回调函数(callback)来处理异步编程.从同步编程到异步回调编程有一个适应的过程,但是如果出现多层回调嵌套,也就是我们常说的厄运的回调金字塔(Pyramid of Doo ...
- 160623、理解 Promise 的工作原理
Javascript 采用回调函数(callback)来处理异步编程.从同步编程到异步回调编程有一个适应的过程,但是如果出现多层回调嵌套,也就是我们常说的厄运的回调金字塔(Pyramid of Doo ...
- jQuery中的Deferred和promise
promise:http://www.alloyteam.com/2014/05/javascript-promise-mode/ 1 jQuery 中的 Deferred 和 Promises : ...
- 【转】angular Ajax请求
1.http请求 基本的操作由 $http 服务提供.它的使用很简单,提供一些描述请求的参数,请求就出去了,然后返回一个扩充了 success 方法和 error 方法的 promise对象(下节介绍 ...
- zepto源码研究 - deferred.js(jquery-deferred.js)
简要:zepto的deferred.js 并不遵守promise/A+ 规范,而在jquery v3.0.0中的defer在一定程度上实现了promise/A+ ,因此本文主要研究jquery v3. ...
随机推荐
- 从resfful API设计到加密算法
众所周知,SOAP 是基于XML的webservice协议,传的数据都是xml格式的,而当下resftul设计比较火,因为快效率高,但是安全性就不及SOAP, SOAP定义了xml-security的 ...
- miniui datepicker 二次加工
function onshowpopup(){ $(".mini-calendar-timespinner").css({"width":"180px ...
- git 使用 总结
比较好的教程 http://backlogtool.com/git-guide/cn/intro/intro1_2.html 1.git流程图 2.git 新建仓库 git init git clon ...
- 第一个Asp.net小项目,主页写了下后台代码
一个比较完善的登录模块,就目前的知识范围来说应该算是完美的. 涉及到:cookies,Session,验证码等知识面 Cookies存放一组值: HttpCookie cook = new HttpC ...
- ALT+TAB切换时小图标的添加 界面透明 屏幕大小 竖行字体 进程信息
一,ALT+TAB切换时小图标的添加 Dlg类中添加变量 protected: HICON m_hIcon; #define IDR_MAINFRAME 128 ICON IDR_MAINFRAME, ...
- Hprose question
1 在服务端 接口的开发中 如果定义了index()方法 中间不能够有参数,否则报错. 2 接口方法中的参数 最好使用单参数 如fun($uid ) 或者 如果需要多个参数 fun($param){$ ...
- java的前台与后台
技术上:前台是指web展示,webservice接口等输入输出接口,后台是指支持这些接口的程序. 例如读写数据库,读写文件,业务逻辑处理. 业务上来讲:前台是提供给最终用户使用的界面,后台是指管理使用 ...
- Rank() 、DENSE_RANK()、NTILE(n)的用法-转
Rank() over()/DENSE_RANK() over()的用法 1.Rank() over()/DENSE_RANK() over() 这两个函数与ROW_NUMBER()函数类似,因为 ...
- 二:基础概述netty
如果不了解netty的,可以百度下,netty社区现在也比较活跃. 现在所谓的大数据,flume,storm等底层都是netty. netty的性能模型: io模型---->异步非阻塞io ...
- 测试一下Word发布刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了。
刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了. 刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了. ...