博客
关于我
异步编程--Promise其他方法
阅读量:326 次
发布时间:2019-03-03

本文共 1113 字,大约阅读时间需要 3 分钟。

1.Promise-all

Promise.all方法用于并行处理多个Promise任务。其接受一个可迭代对象(如数组),其中包含多个Promise。当这些Promise中的所有任务都完成后,整体Promise才会完成。如果有任何一个Promise失败,整个Promise也会失败。

Promise.all(iterable)方法的参数是可迭代对象,返回的结果是一个新的Promise。该Promise的状态取决于迭代器中所有Promise的状态。如果所有Promise都成功完成,返回的结果数组包含这些Promise的结果;如果有任何一个Promise失败,整个Promise也会失败。

例如:

let p1 = new Promise((resolve, reject) => { setTimeout(() => { console.log(1) resolve(10); }, 2000); }); let p2 = new Promise((resolve, reject) => { setTimeout(() => { console.log(2) resolve(20); }, 3000); }); Promise.all([p1, p2]).then(arr => { console.log(3, arr); });

上述代码输出结果为:

2.Promise-race

Promise.race方法用于并行处理多个Promise任务,但与Promise.all不同,它会在第一个任务完成时立即执行回调函数。无论第一个任务是否成功,整个Promise的状态都会根据第一个任务的状态来决定。

Promise.race(iterable)方法的参数同样是一个可迭代对象,返回的结果是一个新的Promise。该Promise的状态与迭代器中第一个任务的状态有关。如果第一个任务成功完成,返回的结果是该任务的结果;如果第一个任务失败,整个Promise也会失败。

例如:

let p1 = new Promise((resolve, reject) => { setTimeout(() => { console.log(1) resolve(10); }, 2000); }); let p2 = new Promise((resolve, reject) => { setTimeout(() => { console.log(2) resolve(20); }, 1000); }); Promise.race([p1, p2]).then(arr => { console.log(3, arr); });

转载地址:http://edvm.baihongyu.com/

你可能感兴趣的文章
OAuth2 vs JWT,到底怎么选?
查看>>
Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
查看>>
oauth2-shiro 添加 redis 实现版本
查看>>
OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
查看>>
OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
查看>>
OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
查看>>
OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
查看>>
OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
查看>>
OAuth2.0_授权服务配置_三项内容_Spring Security OAuth2.0认证授权---springcloud工作笔记141
查看>>
OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
查看>>
OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
查看>>
OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
查看>>
OAuth2.0_授权服务配置_授权码模式_Spring Security OAuth2.0认证授权---springcloud工作笔记144
查看>>
OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
查看>>
OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
查看>>