Promise对象的基础知识

Promise是ES6引入的用于处理异步操作的对象,它使得同步编程更加直观。Promise有三种状态:Pending、Fulfilled和Rejected。状态一旦改变就不能回退,且只能从Pending变为Fulfilled或Rejected。实例化Promise时,构造函数接受一个回调函数,包含resolve和reject参数,分别对应成功和失败的情况。完成后的Promise可以通过.then()方法注册后续操作。
摘要由CSDN通过智能技术生成

promise

promiseES6中其中专门用于同步的一个对象。
使用promise可以更加直观与方便实现JS的同步写法。
其它的一些同步方法都是以promise对象 为基础 进行扩展语法糖。

Promise对象的基础知识

基本信息:
Promise有三种状态:

  • Pending(执行中)
  • Fulfilled(成功状态)
  • Rejected(失败状态)

三种状态的关系:
Pending -> Fulfilled
Pending -> Rejected

实例化中的Promise在构造中就有一个参数,这个参数也是一个回调函数。
并且这个回调函数默认就有两个参数resolve。成功的回调函数,用于接收成功返回的值
rejcet失败的回调函数,用于接收失败的返回值

Promise对象在执行完成后。会进行完成状态,我们可以使用.then()这个方法来执行后续的操作

Promise对象在实例化中就会直接执行。

// 定义Promise对象
        let pro = ()=>{
            // 这个函数返回的是一个Promise对象
            // 需要使用Promise对象时需要进行实例化
            // resolve是成功时执行的函数, reject失败时执行的函数
            let obj =  new Promise(function (resolve, reject ){
                            console.log('开始')
                            // 模拟从后端获取数据
                            let n1 = 0
                            setTimeout(()=>{
                                n1 = 1000
                                console.log('获取成功,数据为:'+n1)
                                // 操作成功,调用成功的函数并且把需要传出的参数进行传参
                                resolve(n1)
                            }, 500)
                        });

            return obj;
        }

        // 执行Promise对象。并且在完成任务之后再执行后续操作
        let obj = pro();
        
        obj.then((resolve)=>{
            let obj2 = new Promise((resolve, reject)=>{
                let n2 = resolve + 500
                console.log('运算结果为:'+n2)
                console.log('结束')
                resolve(n2)
            })
            
            obj2.then()
        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值