当前位置:网站首页>Promise.all 使用方法
Promise.all 使用方法
2022-08-04 05:36:00 【m0_67402026】
1.await 可以获得多个promise 的返回结果
2. Promise.all 返回的也是promise,所以可以直接await Promise.all();
1. 使用Promise
function fn(){
return new Promise((resolve,reject)=>{
let randomNum = parseInt(Math.random()*6+1);
console.log(randomNum);
if(randomNum>3){
resolve('买');
}
else{
reject('不买');
}
})
}
Promise.all([fn(),fn()]).then((x)=>{console.log(x,'success')},(y)=>{console.log(y,'error');});
- Promise.all 里面参数为一个数组,数组的每一项是一个返回promise 的函数调用
- then 的第一个参数是所有promise都成功的调用,返回结果是一个数组,数组的每一项为函数promise 的返回结果。
- then 的第二个参数:返回结果有一个失败则执行失败的回调,拿到的是第一个失败的值
2. 使用await
await 是可以获得多个promise 返回结果的,Promise.all()返回的也是promise结果。所以想要使用await 拿到多个promise的返回值,可以直接await Promise.all();
function fn(){
return new Promise((resolve,reject)=>{
let randomNum = parseInt(Math.random()*6+1);
console.log(randomNum);
if(randomNum>3){
resolve('买');
}
else{
reject('不买');
}
})
}
async function test(){
try{
let res = await Promise.all([fn(),fn()]);
console.log(res,'success');
}
catch(error){
console.log(error,'error');
}
}
test();
- Promise.all([fn(),fn()]) 都返回resolve(); 才能够拿到成功的返回值
- Promise.all([fn(),fn()]) 有一个返回reject(), 则进入catch(error), 拿到失败的返回值
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- MATLAB版量化交易技术分析工具TA-Lib【不付费也可获取,不要被付费吓跑】
- IoU, GIoU, DIoU and CIoU in target detection
- 如何在Excel 里倒序排列表格数据 || csv表格倒序排列数据
- 科研绘图图表类型种类繁多,本文告诉你如何选择!
- JVM 快速检测死锁
- 微软电脑管家2.0公测版体验
- Scheduler (Long-term,Short-term, Medium-term Scheduler) & Dispatcher
- Microsoft computer butler 2.0 beta experience
- IE8 打开速度慢的解决办法
- DOM的12中节点类型,通过关系或方法获取DOM节点,渲染到浏览器页面的一些特效功能,获取DOM节点来改变属性,点击图片,切换为所点击的图片为背景图,页面上的表单验证,点击底部导航栏切换界面
猜你喜欢
解决腾讯云DescribeInstances api查询20条记录以上的问题
HbuilderX 启动微信小程序 无法打开项目
Time Series Forecasting Based on Reptile Search RSA Optimized LSTM
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
U-Net详解:为什么它适合做医学图像分割?(基于tf-Kersa复现代码)
天鹰优化的半监督拉普拉斯深度核极限学习机用于分类
如何用matlab做高精度计算?【第二辑】
SENet detailed explanation and Keras reproduction code
Operating System Kernel
基于EEMD+GRU+MLR的时间序列预测
随机推荐
第九篇 ApplicationContext初始化
格拉姆角场GAF将时序数据转换为图像并应用于故障诊断
unicloud 腾讯云 上传文件 Have no access right to the storage uniapp
缓存穿透、击穿、雪崩
软件稳定性思考
硬件知识:RTMP和RTSP传统流媒体协议介绍
Gramm Angle field GAF time-series data into the image and applied to the fault diagnosis
VS 2017编译 QT no such slot || 找不到*** 问题
事件链原理,事件代理,页面的渲染流程,防抖和节流,懒加载和预加载
RuntimeError: You called this URL via POST, but the URL doesn‘t end in a slash and you have APPEND_S
mysql:列类型之float、double
Base64编码原理
目标检测中的先验框(Anchor)
mysql月份比較是否相等
MySQL面试题大全(陆续更新)
系统流量预估、架构设计方案
NelSon:一款新的适配matlab编程语法的编程工具
如何用matlab做高精度计算?【第三辑】(完)
Visualization and Animation Technology (VR System)
在线公众号文章内容转音频文件实用小工具