JavaScript-Promise


Promise

promise.resove()–> 产生一个promise对象

resolve()、reject()并不停止Promise,可使用return resolve(...) 或 return reject(...)

建议不要再then()方法里面定义Reject的回调函数,使用catch()

catch()返回的也是一个Promise对象,可以在之后使用then()

finally()的回调不接受任何参数,不依赖于Promise的执行结果,finally()相当于then的特例

all()接受一个数组或者具有Interator接口且成员是Promise的实例(如果不是Promise的实例,会调用Promise.resolve()方法,将参数转为Promise参数)的参数,当参数的所有状态变成resolve,Promise.all()的状态才变成resolve,返回值是每个成员返回的resolve()。当有一个参数的状态变成reject,Promise.all()就会变成reject,返回值是第一个被reject的实例的返回值。对于异常的捕捉如果成员有catch方法据不会传递到Promise.all().catch()。

rece()跟all()差不多,但是只要有一个状态发生变化,rece()的状态就会发生变化。


Promise.prototype.then()

Promise.prototype.catch()

Promise.prototype.finally()

Promise.prototype.all()

Promise.prototype.race()


文章作者: 木叶勇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 木叶勇 !
 上一篇
React-大纲 React-大纲
setState是不是异步 有时表现异步有时表现同步 合成事件和钩子函数中是异步,原生事件和setTimeout中是同步 合成事件? 原生事件? 如果DOM上绑定了过多的事件处理函数,整个页面响应以及内存占用可能都会受到影响。React
2020-07-09
下一篇 
设计模式-发布订阅模式 设计模式-发布订阅模式
设计模式-发布订阅模式emit:发布 on:订阅 先订阅再发布,改变顺序使用 埋点? 过度使用? 什么是发布订阅模式 家有喜事,当然要大家一起庆祝,顺便收份子钱,于是我打开了通讯录,向亲朋好友发布这个好消息。讲完了吗? 是的,哈哈哈,这就是
2020-06-16
  目录