Email:longsu2010 at yeah dot net
之前写了篇博客“
http://blog.csdn.net/tt361/article/details/8924918”,写的是dojo的异步编程(dojo/Deferred模块),本篇博客算是一个补充,写写必须两个Deferred对象都resolve时才调用某函数该怎么做。
可以通过dojo/promise/all模块完成,先看例子。
require(["dojo/promise/all", "dojo/Deferred"],function(all , Deferred){
function defer1(){
var deferred = new Deferred();
setTimeout(function(){
deferred.resolve("defer1");
// deferred.reject("defer1");
}, 2000);
return deferred;
}
function defer2(){
var deferred = new Deferred();
setTimeout(function(){
deferred.resolve("defer2");
}, 200);
return deferred;
}
all({
defer1 : defer1(),
defer2 : defer2()
}).then(function(rs){
console.log(rs.defer1, rs.defer2);
}, function(rs){
console.log(rs)
});
});
非常的简单,all模块(一个函数)可以接收一个数组或者一个对象作为参数,数组的每个元素(对象的属性)需要是一个Deferred对象,当所有的Deferred对象都resolve时调用第一个回调函数,其中一个失败调用第二个回调函数。
第一个回到函数的参数是数组或者对象(视all的参数是数组还是对象而定);第二回调函数的参数是第一个失败Deferred对象的信息。
另外dojo/promise/first与all用法类似,不同的是前者为当有一个Deferred对象完成时(resolve或者reject)就调用回调函数,first随即完成。
dojo/DeferredList完成的功能与all相同但DeferredList是deprecated,不建议使用。
分享到:
相关推荐
dojo dojo实例 dojo例子 dojo资料 dojo项目 dojo实战 dojo模块 dojo编程
dojo异步树.js 实现异步加载节点功能
用DOJO 1.3.2 加 .NET 2.0(c#) 做的人事信息管理模块,用 ChartDirector(未破解) 做报表支持。
dojo异步树js
使用Requirejs异步加载Dojo1.6,运行在Tomcat6下
DOJO中文手册【出自dojo中国】 页数60+ 简单介绍: Dojo 是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets, Burstlib, f(m)), 这也是为什么叫它a \"unified\" toolkit的...
鉴于此,图灵公司引进了Dojo之父亲自撰写的《Mastering Dojo》一书。 本书对Dojo进行了全面而深入地阐述,包括基本使用和高级技巧。全书以一个能让读者迅速上手的简单示例开篇,进而读者们将了解到Dojo的核心,也...
模块与包) 1 二、 Dojo学习笔记(2. djConfig解说) 4 三、 Dojo学习笔记(3. Dojo的基础对象和方法) 6 四、 Dojo学习笔记(4. dojo.string & dojo.lang) 9 五、 Dojo学习笔记(5. dojo.lang.array & dojo.lang.func & ...
异步模式在web编程中变得越来越重要,对于web主流语言Javscript来说,这种模式实现起来不是很利索,为此,许多Javascript库(比如 jQuery和Dojo)添加了一种称为promise的抽象(有时也称之为deferred)。通过这些库...
dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档
精通Dojo PDF 扫描版 part1/3 中文版,由Dojo作者完成,有参考价值
dojo模块化实例,利用dojo.xd.js跨域调用js模块
AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级...
AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级...
AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级...
dojo,C#做的财务模块dojo,C#做的财务模块dojo,C#做的财务模块dojo,C#做的财务模块
dojo 博文链接:https://pengxiao71.iteye.com/blog/155261
dojo js dojo js dojo js dojo js dojo js dojo js dojo js
dojo.js.核心jsDojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库
该工具可按指定的方案合并、压缩dojo或符合dojo规范的js文件、压缩css文件。 使用方便,无需安装配置, 下载置入dojo源码下的任意目录即可一键完成...发布版: http://www.ecranesoft.com/aauto/dojo/dojoBuild-bin.rar