Promise学习

Promise 有then catch all race
如果执行resolve(obj)这个方法就执行then(function(obj))


如果执行了reject(obj)就执行catch(function(obj))方法


Promise 构造方法里面需要传入一个


function(resolve, reject){


}
resolve 方法可以使 Promise 对象的状态改变成成功,同时传递一个参数用于后续成功后的操作,在这个例子当中就是 Hello World! 字符串。


reject 方法则是将 Promise 对象的状态改变为失败,同时将错误的信息传递到后续错误处理的操作。


all() 
该方法里面需要传入多个Promise对象 ,所有Promise执行完毕以后再执行then(function(results))方法或者catch方法
如果有一个执行了reject这个方法就走catch方法。


race()方法 赛跑的意思
该方法里面需要传入多个Promise对象 ,只要有一个Promise执行完就执行then或者catch方法
例如获取数据10s 获取不到就说明超时
一个倒计时任务,一个获取数据任务,
如果倒计时任务先完成,就reject走catch方法
如果获取数据任务先完成,就resolve走then方法




Promise的三种状态
Fulfilled 可以理解为成功的状态  resolve


Rejected 可以理解为失败的状态 reject


Pending 既不是 Fulfilld 也不是 Rejected 的状态,可以理解为 Promise 对象实例创建时候的初始状态




不管是then还是catch方法调用,都返回一个新的promise对象;
阅读更多

没有更多推荐了,返回首页