一. Promise基础

1. promise对象的生命周期:
初始为挂起态(pending),表示异步操作尚未结束。一个挂起的 Promise 也被认为是未决的(unsettled)。一旦异步操作结束, Promise就会被认为是已决的( settled ),并进入两种可能状态之一:
(1)已完成( fulfilled ): Promise 的异步操作已成功结束;
(2)已拒绝( rejected ): Promise 的异步操作未成功结束,可能是一个错误,或由其他原
因导致。
内部的 [[PromiseState]] 属性会被设置为 “pending” 、 “fulfilled” 或 “rejected” ,以反映 Promise 的状态。
2. promise对象的方法:
(1)Promise.prototype.then():then方法是定义在原型对象Promise.prototype上的。它的作用是为Promise实例添加状态改变时的回调函数。then方法的第一个参数是Resolved状态的回调函数,第二个参数(可选)是Rejected状态的回调函数。
(2)Promise.prototype.catch():Promise.prototype.catch方法是.then(null, rejection)的别名,用于指定发生错误时的回调函数。
例如:

二. Promise对象中的数据获取

想要获取promise对象中的数据,是不能通过变量赋值的方法把promise赋值给一个变量的。需要通过promise对象的方法来获取,如果promise的状态是( rejected ),则需要用catch方法来调用里面的值,也可以用.then(null, rejection)来获取,两者等价。如果是( fulfilled )状态,则需要通过then来调用。
例如:
状态为rejected 时:
在这里插入图片描述
等价于在这里插入图片描述得到的返回结果是一样的:
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐