ES6的Promise基本使用方法JavaScript

Promise是JavaScript中的一种处理异步的机制。他是一种代表一个异步操作最终完成或失败的对象。

Promise有三种状态 pending(进行中),fulfilled(已完成), rejected(已失败)。

Promise有两个主要方法 then和catch,then处理异步操作成功的情况,catch处理异步操作失败的情况,还有一个不论成功或失败都会执行的finally方法。

当使用Promise时,会传入一个执行器。执行器传入两个参数,resolve, reject。当操作成功时使用resolve返回参数,失败时用reject返回参数。返回的参数会被then或者catch方法接收到。

Promise本身还有一些比较常用的方法:

1. all函数,将多个Promise放在一个数组中,然后用Promise.all(Array)执行,当数组内的所有异步操作成功时这个promise才会返回成功。不然就会返回失败。

2. allSettled, 将多个Promise放在一个数组中。使用这个方法执行,当数组内所有异步操作完成后这个异步操作完成,并且会打印出数组中所有异步操作的状态与执行结果(一个数组,数组内对象格式为 { status: 'rejected'|'fulfilled', value: any })。

3. any方法,接收一个多个Promise的数组,当其中一个异步操作完成后,这个promise操作完成。如果所有异步操作都失败,才会变为rejected状态。

4. race方法,将多个Promise包装为一个Promise, 用法与以上相同,当其中一个Promise对象完成时,新的Promise对象就会完成。不论成功或失败。新的都会返回最快执行的那个Promise的状态。



评论列表
0/1000
共 0 评论