码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript Promise对象学习

时间:2016-03-06 12:47:20      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

 

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);
}));

  

 

 

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对象学习

标签:

原文地址:http://www.cnblogs.com/lhp2012/p/5246881.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!