ES6中的Promise对象

var p = new Promise(function(resolve, reject){
window.setTimeout(function(){
console.log("1",1);
resolve(1);
},10);
});
p.then(function(a){
return new Promise(function(resolve,reject){
window.setTimeout(function(){
console.log("2",a+1);
resolve(a + 1);
},10);
});
}).then(function(a){
return new Promise(function(resolve,reject){
window.setTimeout(function(){
console.log("3",a+1);
resolve(a + 1);
},10);
});
}).then((a)=>new Promise((resolve,reject)=>{
window.setTimeout(function(){
console.log("52222",a+1);
resolve(a + 1);
},10);
}));

  

for循环中的ajax请求依次执行,而不是无序执行。

(function () {

    var ajax = function(callback){
window.setTimeout(function(){
callback(new Date());
},1000);
}; var promiseAjax = function(num){
return function (pre){
return new Promise(function (resolve, reject) {
ajax(function (d) {
console.log(num,d);
resolve(d);
});
});
}
} ; var p = promiseAjax(-1)();
for (var i = 0; i < 10; i++) {
p = p.then(promiseAjax(i));
} })();

  

Angular中的$q对象

    var $q = {};
var deferred = $q.defer();
var promise = deferred.promise;
promise.then(function(a){
return a + "222"
}).then(function(a){
var deferred = $q.defer();
window.setTimeout(function(){
deferred.resolve("333");
},100);
return deferred.promise;
});
deferred.resolve("1111");

  

var deferred = $q.defer()

...(and then from console inspection)...

$q: Object {defer: function, reject: function, when: function, all: function}

deferred: Object {resolve: function, reject: function, notify: function, promise: Object}

deferred.promise: Object {then: function, catch: function, finally: function}
$q.reject(reason) returns a rejected promise with the reason passed as argument and defered. Reject rejects an existent defered whether its process has finished or not.

  

try、catch、throw和then、catch、reject

Javascript Promise对象学习的更多相关文章

  1. JS Promise对象学习

    Promise对象的三个状态 pending(进行中) fulfilled(已成功) rejected(已失败) Promise代表一个异步操作,对象的状态一旦改变,就不会再改变 Promise构造函 ...

  2. [javascript] Promise简单学习使用

    原文地址:http://www.cnblogs.com/dojo-lzz/p/4340897.html 解决回调函数嵌套太深,并行逻辑必须串行执行,一个Promise代表一个异步操作的最终结果,跟Pr ...

  3. ES6之Promise对象学习——8个例子学会Promise

    目录 Promise 立即执行 Promise 三种状态 Promise 不可逆性 链式调用 Promise.then()回调异步性 Promise中的异常 Promise.resolve() res ...

  4. JavaScript - Promise对象

    优点: 在异步执行的流程中,把执行代码和处理结果的代码清晰地分离(因为Promise对象有链式写法,有then和catch) 组合使用Promise,就可以把很多异步任务以并行和串行的方式组合起来执行 ...

  5. JavaScript之对象学习

    对象是一种非常重要的数据类型,他是一种自包含的数据集合,包含在对象里面的数据可以通过属性和方法两种形式来访问; 1.属性是隶属于某个特定对象的变量; 2.方法是只有某个特定对象才能调用的函数; 而对象 ...

  6. JavaScript学习系列3 -- JavaScript arguments对象学习

    在实际项目开发中,目前还是很少使用到JavaScript 中的arguments对象,那么它到底是干什么用的呢 arguments是JavaScript中的一个类数组对象,它代表传给一个正在执行的函数 ...

  7. javascript中对象学习

    第一篇文章: javascript中this关键字的详细解析:   http://blog.csdn.net/wyj880220/article/details/7305952 Javascript ...

  8. JavaScript Promise的学习笔记

    首先声明:本人今天刚接触Promise,通过一个例子,希望能更好的来理解,如果有不对的地方,还望指正 Promise是专门为解决 js中回调而引起的各种问题,而产生的. 在异步编程中,我们经常使用回调 ...

  9. 第一百二十节,JavaScript事件对象

    JavaScript事件对象 学习要点: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功 ...

随机推荐

  1. Project2010简易操作指南[转]

    Microsoft Office Project 2010 操作手册 英文界面版 一.启动阶段 1. 前期准备 (1)新建项目文件 选择 File — NewNew 菜单, 选择项目模版 打开项目文件 ...

  2. position 定位

    position属性是指本体相对于上级的定位,position又分绝对定位和相对定位.他的默认值是static,意味着元素没有被定位,出现在文档流中应该出现的位置.如果用position来布局页面,父 ...

  3. PHP数据库登陆注册简单做法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Client默认用户及登录密码(转)

    Client默认用户及登录密码 SAP系统(如ERP.CRM等)安装完成,初始化状态下有若干个客户端(Client).如果是生产系统,一般只有000.001.066等三个Client:如果是IDES系 ...

  5. php匿名函数和闭包

    一,匿名函数 一个没有名字的函数,使用function定义 <?php $fun = function($a,$b) { return $a+$b; }; echo $fun(1,2);//输出 ...

  6. css2----单行过长的省略处理

    li{ width:300px; white-space:nowrap;表示怎样处理li容器中的空白部分,nowrap表强制不换行,直到文本结束或碰到</br> text-overflow ...

  7. (转)PhoneGap工作原理及需改进的地方

    原文:http://mobile.51cto.com/web-330900.htm PhoneGap工作原理及需改进的地方 2012-04-18 16:42 佚名 网络整理 字号:T | T 目前开发 ...

  8. JS三元

    ((productDatas[i].Img.indexOf("http") == -1) ? ("/upload/190-160/" + productData ...

  9. php 判断复选框checkbox是否被选中

    php 判断复选框checkbox是否被选中   复选框checkbox在php表单提交中经常被使用到,本文章通过实例向大家介绍php如何判断复选框checkbox中的值是否被选中,需要的朋友可以参考 ...

  10. 纯js轮播效果(减速效果)待改进

    HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...