js-promise

1、理解

1、Promise是一个对象(构造函数),用来处理异步问题;Promise有三种状态:Pending(进行中)、 Resolved(已完成)、Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态;
Promise函数接收一个回调函数作为参数,这个回调函数有两个参数,resolve、reject,也是函数;我们一般使用会根据异步执行的结果来手动去调用resolve或reject函数,这两个函数都可以接收参数;

2、Promise使用过程,我们可以将它划分成三个状态:

  • 待定(pending): 初始状态,既没有被兑现,也没有被拒绝;当初始调用时,处于该状态;
  • 已兑现(fulfilled): 意味着操作成功完成;执行了resolve时,处于该状态;
  • 已拒绝(rejected): 意味着操作失败;执行了reject时,处于该状态;

2、基本写法

 const p = new Promise((resolve, reject) => {
      if (Math.random() >= 0.5) {
        resolve("正确");
      } else {
        reject("错误");
      }
    });

    p.then(
      res => {
        console.log(res);
      },
      err => {   // 捕获错误
        console.log("err", err);
      }
    )
      .catch(err => {    // 若then方法第二个参数未写,那么可由catch捕获错误
        console.log("catch", err);
      })
      .finally(() => {	// 操作完成会调用次回调函数 不接受参数
        console.log("finally");
      });

3、链式理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值