对Promise、async/await 的理解

一、对Promise 的理解

1、首先Promise是一个构造函数,通过 new Promise()可以得到一个 Promise 的实例;

2、Promise 有两个函数,分别叫做 resolve(成功之后的回调函数) 和 reject(失败之后的回调函数) ;

3、在 Promise 构造函数的 Prototype 属性上,有一个 .then() 方法,也就说,只要是 Promise 构造函数创建的实例,都可以访问到这个 .then() 方法 ;

4、Promise 是一个异步操作;每当我们 new 一个 Promise 的实例,这个实例,就表示一个具体的异步操作;

5.、既然 Promise 创建的实例,是一个异步操作,那么,这个 异步操作的结果,只能有两种状态:

状态1: 异步执行成功回调,把 resolve 结果返回给调用者;
状态2: 异步执行失败回调,把 reject 结果返回给调用者;

6、由于 Promise 的实例,是一个异步操作,所以,内部拿到 操作的结果后,无法使用 return值,只能使用回调函数的形式,来将成功 或 失败的结果,返回给调用者;

7、我们可以在 new 出来的 Promise 实例上,调用 .then() 方法

二、对async/await 的理解

async

async是一个加在函数前的修饰符,被async定义的函数会默认返回一个Promise对象resolve的值。因此对async函数可以直接then,返回值就是then方法传入的函数。

await

await 也是一个修饰符,只能放在async定义的函数内。可以理解为等待。

await 修饰的如果是Promise对象:可以获取Promise中返回的内容(resolve或reject的参数),且取到值后语句才会往下执行;

如果不是Promise对象:把这个非promise的东西当做await表达式的结果。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值