一只Chang

promise的链式调用

1.  Promise
    包含两个参数:resolve,reject;
    Resolve:将promise的状态设置为完成状态(resolved),此时then方法捕捉变化,执行成功的回调
    Reject:将promise状态设置为无效,(rejected),此时then方法执行失败回调
————————————————

function  china(){
                    console.log('china中国')
                    var p =new Promise(
                    function( resolve,reject ) {
                             setTimeout(function(){
                             console.log('中国  国家')
                             resolve('教育大省份')
                         },1000)
                    }
               )
               return  p;
           }
————————————————

  function  jiangshu(data){
                    console.log('江苏'+data);
                    var p=new Promise(function(resolve,reject){
                         setTimeout(function (){
                         console.log('江苏 省份')
                         resolve('地级市');
                    },2000)
               })
               return p;
           }
————————————————

②. 函数写完之后,就开始结合then来链式调用了
china()
.then(function(data){returnjiangshu(data)})
.then(function(data){returnxian(data)})

.then(function(data){console.log(data)})

 

简化写法:
china ().then(jiangshu).then(xian).then(function(data){
    console.log(data)
})

如果为reject的时候,执行then的第二个参数回调,不会执行后面的函数
————————————————

unction  china(){
                    console.log('china中国')
                    var p =new Promise(
                    function( resolve,reject ) {
                             setTimeout(function(){
                             console.log('中国  国家')
                             reject('教育大省份')
                         },1000)
                    }
               )
               return  p;
                 }
————————————————

posted on 2020-03-13 11:06  一只Chang  阅读(784)  评论(0)    收藏  举报

导航