马小看前端( 关于promise的那些往事)(下)

马小看前端( 关于promise的那些往事)(下)

今天我们来认识一下通过上个章节没有说完的promise

根据上面的马小的博客大家也应该是对这个promise的对象有一个清楚的认识和promise的强大之处,因为上回还有项目进度需要去赶工完成所以大家懂的

那么从上回来开始,我们去说饿了promise中方法then的强大之处(下面来了解一个catch的方法)

promise的方法已经上面了解的差不多了,then和catch都会返回一个新的Promise,既然我们已经了解这俩种方法,那么现在相信大家都有了一种感叹,确实是强大啊,那么catch这么用呢具体用到哪里呢,catch是捕获的意思不管被连接到哪里,都能捕获上层未捕获的错误

下面我们来看代码理解一下


const promise = new Promise((resolve, reject) => {
  reject("error");
  resolve("success2");
});
promise
.then(res => {
    console.log("then1: ", res);
  }).then(res => {
    console.log("then2: ", res);
  }).catch(err => {
    console.log("catch: ", err);
  }).then(res => {
    console.log("then3: ", res);
  })
  1. promise其实就是一个霸道总裁,在promise中返回一个非promise的值都会被它包裹成一个promise的对象,例如 return 3 会被包裹成return Promise.resolve(3)
  2. .catch方法在内部也是调用的Promise.prototype.then方法中的reject状态下的方法,也就是calling
  3. 它返回了一个失败的promise,
    以及返回一个参数作为一个失败理由。值得注意的是这里返回的是一个已定型的promise,这个过程是promise从pending到reject的改变过程。

以上就先到这里因为时间紧张抽个空,好好给你们说说原理,来自三年马小程序员的博客,感谢关注!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值