Promise对象es6

头部先引入JQ

 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.min.js"></script>

Promise详情

.Promise设计初衷
        1.解决回调地狱
        2.异步操作

//1.回调地狱: 回调函数的层层嵌套
  $.get('url', function (data, static) {
        console.log(data);
        $.get('url', function (res) {
            console.log(data.id);
            console.log(res);
            $.ajax({
                url: '',
                async: true,
                type: 'get',
                data: {},
                success(res1) {
                    console.log(res);
                    console.log(res.id);
                }
            })
        })
    /*   1.创建:new Promise(function(resolve,reject{}))
        resolve:成功,reject:失败
        初始状态:pending 成功状态:fulfilled  失败状态:rejected
        初始状态:  ===》成功状态     resolve
        初始状态:  ===》失败状态     reject
        不可逆转
    */
    let pro = new Promise(function (resolve, reject) {
        $.ajax({
            url: 'url',
            type: 'POST',
            data: {
                type: 'free',
                pageNum: 1,
                pageSize: 10
            },
            success: function (res) {
                resolve(res)
            },
            error: function (err) {//失败的回调函数
                reject(err)
            }

        })
    //用then处理操作成功,catch处理操作异常
     pro.then(requestA)
        .then(requestB)
        .then(requestC)
        .catch(requestError);
    function requestA(res) {
        console.log(res);
        console.log('请求A成功');
        return '请求B.下一个就是你了'
    }
    function requestB(res) {
        console.log('上一步的结果:' + res);
        console.log('请求B成功');
        return '请求C,下一个就是你了'
    }
    function requestC(res) {
        console.log('上一步焦点结果给: ' + res);
        console.log('请求C成功');
    }
    function requestError(err) {
        console.log(err);
        console.log('请求失败');
    }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值