在开发过程中,Promise常用的方法有:all ,race ,allSettled。
1. Promise.all
all,它接受的参数是个数组,它只有等所有请求都结束才会有结果,都成功才会执行.then,then返回的也是一个数组,它与参数中的promise数组是一一对应的;如果返回中有一个错误就会执行.catch。
2. Promise.race
race,它跟all一样,也是接受一个promise数组,但它只需要数组中1个有反应,他就会立马结束,不管这个反应是成功还是结束,成功就.then,失败就.catch。可以理解为race是速度型选手,只要最快的那个,不管结果。
3. Promise.allSettled
allSettled,它同样是接受一个数组,但它你会执行.catch,只会执行.then,也是等所有请求结束后,返回一个数组,数组里的每项与参数的数组每项一一对应,返回的每项包含字段:
status:状态(rejected/fulfilled),value:成功返回的值,reason:失败返回的值。
我一般用它的场景是页面中有多个表单需要校验,这样多个表单的validate方法就是一个数组,allSettled方法的参数,然后我可以找到第几个表单校验失败。
标签:返回,常用,race,Promise,数组,catch,allSettled,方法 From: https://www.cnblogs.com/grow-up-up/p/17000726.html