当前位置:网站首页>async await 在map中使用
async await 在map中使用
2022-07-04 19:52:00 【啾比特】
前言
在做微信小程序的练习时,需要遍历数组中的元素,获取各个元素的id并发起请求来请求对应的资源。这就需要将map循环遍历与async await 进行结合。由于是异步操作,async函数返回的是一个promise对象,则map遍历返回得到的是一个promise对象的数组,我们需要等到获取到所有promise之后在进行后续操作。
Promise.all
Promise.all可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。
与map结合
异步的一般模式map是Promise.all(arr.map(async (...) => ...))
。
实例(微信小程序中的运用)
let videos = video.datas.map(async item =>{
item.id = index++;
item.videoUrl = await this.getVideoUrl(item.data.vid)
return item
})
let temp = await Promise.all(videos)
this.setData({
video:temp
})
边栏推荐
猜你喜欢
【1200. 最小绝对差】
What should I do if my computer sharing printer refuses access
Summary of the mistakes in the use of qpainter in QT gobang man-machine game
heatmap.js图片热点热力图插件
哈希表、哈希函数、布隆过滤器、一致性哈希
6月“墨力原创作者计划”获奖名单公布!邀您共话国产数据库
网件r7000梅林系统虚拟内存创建失败,提示USB磁盘读写速度不满足要求解决办法,有需要创建虚拟内存吗??
The concept and application of hash table
Four traversal methods of binary tree, as well as the creation of binary tree from middle order to post order, pre order to middle order, pre order to post order, and sequence [specially created for t
JS卡牌样式倒计时天数
随机推荐
Record the online bug solving list (unfinished to be continued 7/4)
PermissionError: [Errno 13] Permission denied: ‘data.csv‘
Redis分布式锁的实现
Advantages of semantic tags and block level inline elements
网件r7000梅林系统虚拟内存创建失败,提示USB磁盘读写速度不满足要求解决办法,有需要创建虚拟内存吗??
Flet tutorial 06 basic introduction to textbutton (tutorial includes source code)
【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
How does the computer save web pages to the desktop for use
idea插件
Hands on deep learning (III) -- convolutional neural network CNN
实战模拟│JWT 登录认证
阿里云国际版CDN的优势
GVM使用
[server data recovery] a case of RAID5 data recovery stored in a brand of server
WinCC7.5 SP1如何通过交叉索引来寻找变量及其位置?
vim异步问题
Ten years' experience of byte test engineer directly hits the pain point of UI automation test
面对同样复杂的测试任务为什么大老很快能梳理解决方案,阿里十年测试工程师道出其中的技巧
D3.js+Three.js数据可视化3d地球js特效
Stack: how to realize the judgment of valid brackets?