promise使用方法和重要语句

Promise 对象:表示一个异步操作的最终状态(完成或失败),以及其返回的值。
语法:new Promise( function(resolve, reject) {…} );
参数:exec函数,exec是带有 resolve 和 reject 两个参数的函数。Promise构造函数执行时立即调用exec函数, resolve 和 reject 两个函数作为参数传递给exec(exec 函数在Promise构造函数返回新建对象前被调用) resolve 和 reject 函数被调用时,分别将promise的状态改为fulfilled(完成)或rejected(失败)
resolve() —》 fulfilled
reject() —》 rejected
exec函数内部通常会执行一些异步操作,一旦完成,可以调用resolve函数来将promise状态改成fulfilled,或者在发生错误时将它的状态改为rejected。
一个 Promise有以下几种状态:
pending: 初始状态,既不是成功,也不是失败状态。
fulfilled: 意味着操作成功完成。
rejected: 意味着操作失败。
pending 状态的 Promise 对象可能触发fulfilled 状态并传递一个值给相应的状态处理方法,也可能触发失败状态(rejected)并传递失败信息.
当其中任一种情况出现时,Promise 对象的 then 方法绑定的处理方法(handlers )就会被调用
then方法包含两个参数:onfulfilled 和 onrejected,它们都是 Function 类型。
当Promise状态为fulfilled时,调用 then 的 onfulfilled 方法,
当Promise状态为rejected时,调用 then 的 onrejected 方法,
reject(reason) 返回一个状态为失败的Promise对象,并将给定的失败信息传递给对应的处理方法
resolve(value) 如果value为空,基本类型或者不带then方法的对象,该value会传递给对应的then方法
then() 方法返回一个 Promise 。它最多需要有两个参数:Promise 的成功和失败情况的回调函数
语法:p.then(onFulfilled, onRejected);
参数:onFulfilled
当Promise变成接受状态(fulfillment)时,该参数作为回调函数被调用。该函数有一个参数,即接受的最终结果(the fulfillment value)。
onRejected 当Promise变成拒绝状态(rejection )时,该参数作为回调函数被调用(参考: Function)。该函数有一个参数,即拒绝的原因(the rejection reason)。
then方法返回一个Promise,而它的行为与then中的回调函数的返回值有关:
如果then中的回调函数返回一个值,那么then返回的Promise将会成为接受状态,并且将返回的值作为接受状态的回调函数的参数值。
如果then中的回调函数抛出一个错误, 那么then返回的Promise将会成为拒绝状态,并且将抛出的错误作为拒绝状态的回调函数的参数值。
如果then中的回调函数返回一个已经是接受状态的Promise,
那么then返回的Promise也会成为接受状态,并且将那个Promise的接受状态的回调函数的参数值作为该被返回的Promise的接受状态回调函数的参数值。
如果then中的回调函数返回一个已经是拒绝状态的Promise,
那么then返回的Promise也会成为拒绝状态,并且将那个Promise的拒绝状态的回调函数的参数值作为该被返回的Promise的拒绝状态回调函数的参数值。
如果then中的回调函数返回一个未定状态(pending)的Promise,
那么then返回Promise的状态也是未定的,并且它的终态与那个Promise的终态相同;同时,它变为终态时调用的回调函数参数与那个Promise变为终态时的回调函数的参数是相同的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值