Promise概念介绍

自学前端 专栏收录该内容
2 篇文章 0 订阅

Promise概念介绍

  • 1、Promise 是一个构造函数,既然是构造函数,那我们就可以 new Promise() 得到一个Promise的实例
  • 2、在 Promise 上,有两个函数,分别叫做 resolve (成功之后的回调函数) 和 reject (失败之后的回调函数)
  • 3、在 Promise 的构造函数 Prototype 属性上,又一个 .then() 方法,也就是说只要是Promise 构造函数创建的实例,都可以访问到 .then() 方法
  • 4、Promise 表示一个异步操作;每当我们new 一个 Pormise 的实例,这个实例就表示一个具体的异步操作
  • 5、既然 Promise 创建的实例是一个异步操作,那么这个异步操作的结果就只能有两种状态
    • 5.1、状态一:异步执行成功了 需要在内部调用 成功的额回调函数 resolve 把结果返回给调用者
    • 5.2、状态二:异步执行失败了 需要在内部调用失败的回调函数 reject 把结果返回给调用者
    • 5.3、由于 Promise 的实例是一个异步操作,所以内部拿到操作结果之后,无法使用 return 把操作结果返回给调用者,只能使用回调函数的形式,来把成功或者失败的结果,返回给调用者。
  • 6、我们可以在 new 出来的 Promise 实例上,调用.then() 方法,预先为这个Promise异步操作,指定 成功(resolve) 和失败(reject) 回调函数

使用Promise

//注意这里new 出来的Promise  只是代表【形式上的一个异步操作】
//什么是形式上的异步操作,  就是说  我们只知道他是一个异步操作,但是做什么具体的异步操作,目前还不知道
<!--var promise = new Promise()-->

//这是一个具体的异步操作
var promise = new Promise(function(){
    //这个function里面具体的相关操作
})

每当new 一个 Promise 实例的时候  就会立即执行这个异步操作中的代码

也就是说 new 的时候 除了能得到一个promise实例之外,还会立即调用我我们为 Promise 构造函数传递的那个 function 执行这个function中的异步操作的代码

Promise的异常捕获和作用

需求:
    哪怕签名的 Promise 执行失败了,但是为了不要影响后续的 Promise 的正常执行,此时我们可以单独为每个 promise 通过.then 指定一下失败的回调
    
    有时候还有这样的需求 和上面的需求相反,如果后续的Promise执行依赖于前面的Promise的执行的结果,如果前面的失败了,则后面的不需要执行,也就是前面一旦有出错,后续不需要执行 
    
         在前面的promise里面不进行catch捕获异常,而是在最后一个promise进行catch进行异常捕获
展开阅读全文
  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值