ES6-获取promise对象里面的数据进行操作
一. Promise基础1. promise对象的生命周期:初始为挂起态(pending),表示异步操作尚未结束。一个挂起的 Promise 也被认为是未决的(unsettled)。一旦异步操作结束, Promise就会被认为是已决的( settled ),并进入两种可能状态之一:(1)已完成( fulfilled ): Promise 的异步操作已成功结束;(2)已拒绝( rejected ):
一. 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 时:
等价于得到的返回结果是一样的:
更多推荐
所有评论(0)