JS Array.map方法内异步方法无法同步执行

1.JS Array.map方法内异步方法无法同步执行

问题: 我循环发请求,后台返回给我的照片地址有两个,我要使用map对每一项值进行操作,其中涉及到异步操作。
在这里插入图片描述
在这里插入图片描述

网上的例子(使用promise.all): let arr1 = [1,2,3,4,5] let res = await Promise.all(arr.map(async (item) => { await new Promise(resolve=>{ setTimeout(() => { console.log(item + '内结束'); resolve(); }, 2000) }) return 10 })); console.log(res)

最后实现:
在这里插入图片描述
map函数的原理是:

循环数组,获取每项数组对应的内容,
调用map函数传入的方法,
获取数组的新内容,
将新内容push到新数组,最后返回。
map函数是同步执行的,所以循环每一项时,到给新数组值时,都是同步操作。

猜你喜欢

转载自blog.csdn.net/weixin_46319117/article/details/116272770