Promise是什么?

一丶什么是Promise

        Promise 是一个可以用来存储数据的对象,Promise 存储数据的方式比较特殊,这种方式可以用来存储异步调用的数据,它可以帮助我们解决 异步回调函数的问题。

二丶怎样创建Promise

        创建Promise时,构造函数中需要一个函数作为参数,Promise 构造函数的回调函数,它会在创建 Promise 时调用,调用时会有两个参数传递进去。

const promise = new Promise((reslove,reject)=>{ 
        reslove('哈哈')
})

        resolve和reject是两个函数,通过这两个函数可以向 Promise 中存储数据

        resolve在执行正常时存储数据, reject 在执行错误时存储数据

三丶怎样从Promise中读取数据

        可以通过 Promise 的实例方法 then 来读取 Promise 中存储的数据

        then 需要两个回调函数作为参数,回调函数用来获取 Promise 中的数据,通过 resolve 存储的数据,会调用第一个函数返回;通过 reject 存储的数据或出现异常时,会调用第一个函数返回。

promise.then((result)=>{
    console.log('Promise中的数据',result);
},(reason)=>{
    console.log(reason);
})

        他还有两个方法,分别为 catch() 和 finally():

        ①.catch()用法和then类似,但是只需要一个回调函数作为参数,它只会在Promise被拒绝时才调用。

        ②.finally()通常用来编写一些无论成功与否,都要执行的代码

四丶Promise中维护了两个隐藏的属性

1. PromiseResult   :

        用来存储数据

2.PromiseState :

        用来记录Promise的状态(三种状态):                

                ①。pendging(进行中)

                ②。fulfilled(完成) 通过reslove存储数据时

                ③。rejected(拒绝)  出错了或者通过reject存储数据时

        注意:state只能修改一次,修改以后永远不会在变。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值