Promise函数

Promise 是什么?

Promise是一个异步编程解决方案

Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作,因为同步的话就没有必要写了,他是让头一个异步编程更像同步的写法)的结果。

从语法上说,promise 是一个对象,从它可以获取异步操作的的最终状态(会回调两个参数一个是成功的回调,一个是失败的回调)。

Promise是一个构造函数,对外提供统一的API,自身上有all,reject,resolve方法,它的原型是有then,和catch的方法。

all说明:

此方法在集合多个 promise 的返回结果时很有用。

完成(Fulfillment):
如果传入的可迭代对象为空,Promise.all 会同步地返回一个已完成(resolved)状态的promise
如果所有传入的 promise 都变为完成状态,或者传入的可迭代对象内没有 promisePromise.all 返回的 promise 异步地变为完成。
在任何情况下,Promise.all 返回的 promise 的完成状态的结果都是一个数组,它包含所有的传入迭代参数对象的值(也包括非 promise 值)。

失败/拒绝(Rejection):
如果传入的 promise 中有一个失败(rejected),Promise.all 异步地将失败的那个结果给失败状态的回调函数,而不管其它 promise 是否完成。

reject 说明:

静态函数Promise.reject返回一个被拒绝的Promise对象。通过使用Error的实例获取错误原因reason对调试和选择性错误捕捉很有帮助。

resolve 说明:

静态方法 Promise.resolve返回一个解析过的Promise对象。

Promise的两个特点

  1. Promise对象的状态不受外界影响

    (1)pending 初始状态

    (2)fulfilled 成功的状态

    (3)rejected 失败的状态

    Promise的状态有这三种状态,只有异步操作的结果才能改变一种状态,其他任何操作都无法改变状态

    2.Promise的状态一旦改变,就不会在改变,任何时候都可以得到这个结果,状态不可逆。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值