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期约
网站网址:http://azwzsj.com/article/dsojjgs.html