【ES6】Promise

来源:互联网 发布:python class 编辑:程序博客网 时间:2024/05/21 09:41

前言:

前段时间在整理有关于ES6的文档,一边学习,一边总结。大致列出的一个提纲,自己对ES6的理解,仅供大家参考学习。


Promise具有三个状态,pending(进行中)、resolved[fulfilled](已完成)、rejected[rejected](已拒绝)。

状态转换图

promise的状态转换,只能由未完成到已完成或者已拒绝转换,这个过程不能逆转。

//Promise实例new Promise((resolve,reject)=>{    resolve('fulfilled...')}).then((val)=>{    console.log(val)}).catch(error => {    console.log(error)})

方法:

Promise.all(arr)

参数arr:arr中存放的是promise。
返回值:当所有的promise处于完成态时, Promise.all(arr)转变为完成态,否则一直是未完成或者已拒绝。

Promise.race(arr)

参数arr:arr中存放的是promise。
返回值:当任何一个的promise处于完成态时, Promise.race(arr)转变为完成态。

Promise.resolve(func)

参数func:普通function
返回值:处于完成态的promise

Promise.reject(func)

参数func:普通function
返回值:处于已拒绝的promise


声明:参考自自阮一峰老师《ES6入门》,有兴趣的可以去看下,url:http://es6.ruanyifeng.com/

备注:时间关系,关于ES6的更新不会很快。如有需要完整文档的,可以留下邮箱,单独发送>_<