ES6-promise异步编排

<script>

        //1、查出当前用户信息
        //2、按照当前用户的id查出他的课程
        //3、按照当前课程id查出分数
		
		//原始写法:
        // $.ajax({
        //     url:"mock/user.json",
        //     success(data){
        //         console.log("查询用户",data);
        //         $.ajax({
        //             url:`mock/user_corse_${data.id}.json`,
        //             success(data){
        //                 console.log("查询到课程:",data);
        //                 $.ajax({
        //                     url: `mock/corse_score_${data.id}.json`,
        //                     success(data) {
        //                         console.log("查询到分数:", data);
        //                     },
        //                     error(error) {
        //                         console.log("出现异常了:" + error);
        //                     }
        //                 });

        //             },
        //             error(error){
        //                 console.log("出现异常了:" + error);
        //             }
        //         });
        //     },
        //     error(error){
        //                 console.log("出现异常了:" + error);
        //             }

        // });
   
   
        //1、Promise可以封装异步操作
        // let p = new Promise((resolve,reject)=>{
        //     //1、异步操作
        //     $.ajax({
        //         url:"mock/user.json",
        //         success:function(data){
        //             console.log("查询用户成功",data);
        //             resolve(data);
        //         },
        //         error:function(err){
        //             reject(er);
        //         }
        //     });  
        // });

        // p.then((obj)=>{
        //     return new Promise((resolve,reject)=>{
        //     $.ajax({
        //         url:`mock/user_corse_${obj.id}.json`,
        //         success:function(data){
        //             console.log("查询用户课程成功",data);
        //             resolve(data);
        //         },
        //         error:function(err){
        //             reject(err);
        //         }
        //     });
        //    })
        // }).then((data)=>{
        //     console.log("上一步的结果",data);
        //     $.ajax({
        //         url:`mock/corse_score_${data.id}.json`,
        //         success:function(data){
        //             console.log("查询课程得分成功",data);
        //         },
        //         error:function(err){
        //         }
        //     });
        // })


        function get(url,data){
            return new Promise((resolve,reject)=>{
                $.ajax({
                    url:url,
                    data:data,
                    success:function(data){
                        resolve(data);
                    },
                    error:function(err){
                        reject(err);
                    }
                })
            });
        }

        get("mock/user.json")
            .then((data) => {
                console.log("用户查询成功~~~",data)
                return get(`mock/user_corse_${data.id}.json`);
            })
            .then((data) => {
                console.log("课程查询成功~~~",data)
                return get(`mock/corse_score_${data.id}.json`);
            })
            .then((data) => {
                console.log("课程成绩查询成功~~~",data)
            })
            .catch((err)=>{
                console.log("出现异常",err)
            });

   </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值