189 8069 5689

Promise期约

从ES6开始增加了Promise类型,称为了主导性的异步编程机制。

成都创新互联公司专业为企业提供乌当网站建设、乌当做网站、乌当网站设计、乌当网站制作等企业网站建设、网页设计与制作、乌当企业网站模板建站服务,十年乌当做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

期约Promise是一个有状态的对象,可能处于如下三种状态之一:

  • 待定(pending)
  • 兑现(fulfilled,或被称为“解决”,resolved)
  • 拒绝(rejected)

  pending是期约的最初始状态。在这个状态下,promise可以进行落定(settled)为fufilled或rejected,他们分别代表了成功失败的状态。无论落定为哪种状态都是不可逆的,转换为resolve或reject后,期约的状态就不再改变。

  promise状态转换为兑现resolve时,会有一个私有的内部(value),而转换为失败reject时,会有一个私有的内部理由(reason),默认值为undefined。

  由于期约的状态是私有的,所以改变其状态只能在内部操作。控制期约状态转换是通过调用它的两个函数参数实现的:resolve()和reject()

  为避免期约卡在超时状态,可以添加一个定时退出功能。比如,可以通过setTImeout设置一个10秒钟后无论如何都会拒绝期约的回调:

1 let p = new Promise((resolve,reject)=>{
2    setTimeout(reject,);//10秒后调用reject()
3 });

本文标题:Promise期约
链接URL:http://cdxtjz.cn/article/dsojjgs.html

其他资讯