ES6-day03(二)(Promise对象(promise的两个状态,promise的then,catch,finally方法),Promise对象调用ajax函数)

1.Promise对象

1.promise的两个状态

//new Promise((形参1,形参2)=>{})这里的形参名字可以随意,但是尽量就用resolve reject原因在我另一篇[ES6-day03(三)](https://editor.csdn.net/md/?articleId=105999227)里有说明
        let promise = new Promise((resolve,reject) => {
            // resolve   reject 是两个函数,可以改变promise对象的状态
            // resolve()  promise状态就是成功的    
            // reject()    promise状态就是失败
            if(3>5){
                resolve('hello');  //fulfilled
            }else{
                reject('fail');     //rejected
            }
        });
        // console.log(promise);

  这里很明显3>5是不成立的,所以promise对象的状态就是失败,失败就会执行reject();
  如果成功的话会执行resolve();
2.promise的then,catch,finally方法

// 获取resolve函数,reject函数传递出去的数据
        // then是promise对象的方法,参数函数,代表promise对象成功状态的回调函数
        // catch是promise对象的方法,参数函数,代表promise对象失败状态的回调函数
        // finally是promise对象的方法,参数函数,代表promise对象无论成功还是失败都会调用的回调函数
        promise.then((res)=>{
            console.log(res,'----');
        }).catch((err)=>{
            console.log(err,'++++');
        }).finally(()=>{
            console.log('最终会调用');
        })

这里的then是当promise对象状态为成功然后执行resolve()时,then中写的函数会执行,同理catch是当promise对象状态为失败然后执行reject()时执行的.

2.Promise对象调用ajax函数

let promise = new Promise ((resolve,reject)=>{
            $.ajax({
                url:'http://39.97.103.246:8888/manager/category/findAllCategory',
                method:'get',
                data:{},
                success(res){
                    resolve(res);
                },
                error(err){
                    reject(err);
                }
            })
        })
        promise.then((response)=>{
            console.log(response);
        }).catch((error)=>{
            console.log(error);
        })

从后台接口请求数据成功时执行then,不成功执行catch.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值