当前位置:网站首页>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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Time Series Forecasting Based on Reptile Search RSA Optimized LSTM
- 窥探晶体世界的奥秘 —— 230种空间群晶体结构模型全在这里
- Microsoft Store 微软应用商店无法连接网络,错误代码:0x80131500
- 用手机也能轻松玩转MATLAB编程
- 事件链原理,事件代理,页面的渲染流程,防抖和节流,懒加载和预加载
- mysql月份比較是否相等
- 狗都能看懂的变化检测网络Siam-NestedUNet讲解——解决工业检测的痛点
- Database Skills: Organize SQL Server's Very Practical Scripts
- 升级到 MediaPlayer 11 时跳过验证副本的方法
- Flask request 返回网页中 checkbox 是否选中
猜你喜欢
电脑知识:台式电脑应该选择品牌和组装,值得收藏
MAML原理讲解和代码实现
Database document generation tool V1.0
Base64编码原理
EfficientNet解读:神经网络的复合缩放方法(基于tf-Kersa复现代码)
数据库文档生成工具V1.0
Online public account article content to audio file practical gadget
零分贝超静音无线鼠标!数量有限!!先到先得!!!【元旦专享】
狗都能看懂的变化检测网络Siam-NestedUNet讲解——解决工业检测的痛点
Interpretation of EfficientNet: Composite scaling method of neural network (based on tf-Kersa reproduction code)
随机推荐
基于子空间结构保持的迁移学习方法MLSSM
IE8 打开速度慢的解决办法
狗都能看懂的Self-Attention讲解
[漏洞问题] log4j漏洞 关于2.17.0升级到2.18.0 方案
golang 坐标格式 转换 GCJ02ToWGS84
狗都能看懂的变化检测网络Siam-NestedUNet讲解——解决工业检测的痛点
格拉姆角场GAF将时序数据转换为图像并应用于故障诊断
Detailed explanation of DenseNet and Keras reproduction code
缓动动画,有关窗口的一些常见操作,BOM操作
指定区域内随机填充圆之matlab实现
如何用matlab做高精度计算?【第三辑】(完)
ffmpeg打开rtsp流应该设置的几个参数
布隆过滤器
花了近70美元入手的学生版MATLAB体验到底如何?
Prematurely reached end of stream
MySQL配置文件配置
golang chan
golang 的库引用方法
Network skills: teach you to install batteries on the router, you can still surf the Internet when the power is cut off!
窥探晶体世界的奥秘 —— 230种空间群晶体结构模型全在这里