一切福田,不離方寸,從心而覓,感無不通。

ES6 同步和异步、Promise

一.同步与异步

1. Promise作用:解决异步回调的问题

二.Promise对象

目的:创建异步对象,当异步对象中的异步操作执行完之后,再执行想要执行的东西。

1. resolve 表示将状态变成成功完成,reject 表示将状态变成失败完成。

2. 当resolve方法执行完成之后,再执行then方法。

 

三.Promise传参

  • resolve里的参数可以传给then

 

四.Promise错误处理

1. reject中存储错误处理的参数,可以传给then方法中的第二个参数

 

五.Promise.all()-->一个脚本中有多个promise时,监控多个Promise对象执行完成

1.Promise.all([p1,p2,p3]):把promise打包,扔到一个数组里面,打包完还是一个promise对象.

 

必须确保所有promise对象都是resolve状态

输出["aaaa","bbbb","cccc"]

六.

1.Promise对象的then方法有两个参数,一个是成功后的参数,另一个是失败的参数方法

  • promise.then(success,fail)
失败鸟

2.new Promise().catch()-->错误捕获

等同于上面的reject,返回“失败鸟”
也可这样使用

七.Promise的方法

1.Promise.resolve('xxx'):将现有的东西,转成一个Promise对象,且是resolve成功状态

输出aaa

等价于下面这句话

2.Promise.reject('xxx'):将现有的东西,转成一个Promise对象,且是reject失败状态

输出aaaa

4.Promise.race():与all的不同之处在于,只要有一个是resolve状态就可以返回

输出aaaa

八.

作者:祝名
链接:https://www.jianshu.com/p/7b1dd9c50d2b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。