使用ES6的Promise完美解决回调地狱

//创建一个Promise实例,获取数据。并把数据传递给处理函数resolve和reject。需要注意的是Promise在声明的时候就执行了。
var getUserList=new Promise(function(resolve,reject){
     $.ajax({
     type:"get",
     url:"http://vueshop.glbuys.com/api/home/index/slide?token=1ec949a15fb709370f",//第一次请求
     success:function(data){
         resolve(data);
     },
     error:function(error){
         reject(error)
     }
     });
    })
    
        var getUserInfo=function(user){
            return new Promise(function(resolve,reject){
                console.log(user) //得到了上一个请求的用户id,下面根据用户id进行详情请求
             $.ajax({
             type:"get",
             url:"http://vueshop.glbuys.com/api/home/index/slide?token=1ec949a15fb709370f?id="+user,//第二次请求想要的数据;
             success:function(data){
                 resolve(data);
             },
             error:function(error){
                 reject(error)
             }
             });
            })
        }
        getUserList.then(function(data){
            var userid = JSON.parse(data).data[2].webs  //调试的id存贮
            return getUserInfo(userid)
        }).then((datas)=>{
            console.log(datas)
        })
posted @ 2018-05-14 11:21  坏飞的救赎  阅读(258)  评论(0编辑  收藏  举报