Promise对象--个人理解

Promise对象

作用

  • 有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易

定义

  • Promise对象是一个期约,定义着未来发生的事件,它有3种状态,表示着一个任务的状态,它们分别是pending(进行中), fulfilled(成功),rejected(失败);
  • Promise对象可以比喻成一个容器,里面装着外来才会结束的事件(通常是异步操作)的结果。
  • 特点
  • Promise的状态只能有内部的决定,不受外部影响,这也是Promise(承诺)的由来。
  • Promise的状态只能改变一次,一旦转态改变,不会再变。
    • 要么从pending -> fulfilled
    • 要么从pending -> rejected

基本使用

  • 生成promise对象,只需调用 Promise对象(),传入一个回调函数(resolve, reject) => {},这是用来让我们自定义什么时候发生状态的改变。
  • 调用then()方法,传入两个回调函数,他们是用来定义Promise分别变成两种不同状态时应该执行怎样的业务逻辑
  • 调用catch()方法,传入一个回调函数,定义当promise执行期间发生异常时应该执行怎样的业务逻辑,此时状态是reject。
  let promise = new Promise((resolve,reject)=>{
   
        console.log('111');
        //setTimeout是异步执行的,后面的代码不用等里面的回调函数执行完后再执行
        setTimeout(()=>{
   
            console.log('222');
            resolve('hhh'); // 修改promise状态为 成功
        },0)
        console.log('333');
    });
    console.log('444');
    // 参数从resolve,reject中传入,第一个函数是定义resolve的回调函数,第二个是定义reject的回调函数
    
    // 定义成功或失败的具体执行方法
    promise.then((data)=>{
   
        //变成成功状态后自动执行
        console.log
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值