07【前端】promise.html


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
</head>

<body>
    <script>
        // 1、查处当前用户信息
        // 2、按照当前用户的id 查处他的课程
        // 3、按照当前课程查出得分
        // $.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(err);
        //         }
        //     })
        // })




        // p.then((obj) => {
        //     //1、Promise 可以封装异步操作
        //     // 1、异步操作
        //     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>

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值