美文网首页
用Promise.all 做前端并发

用Promise.all 做前端并发

作者: 王善良_ | 来源:发表于2019-10-29 22:32 被阅读0次

    循环调接口请求头像

    先声明一个promise的数组

      const promiseArr=arr.map((item)=>{
          return new Promise((resolve,reject)=>{
            api.getAvatar(item.xxx).then((avatar)=>resolve(avatar.url))
          })
        })
    

    先把map原来的数组,返回promise,去根据item的xxx参数,请求头像,然后把想要的结果resolve出来,整个promiseArr数组,都是这样的promise

    await Promise.all(promiseArr).then((values)=>{
          console.log(values);
          arr.forEach((item,index)=>{
              item.avatar=values[index]
          })
        })
    

    这样子就能并发请求头像,并且按顺序给原数组加上头像的属性了

    相关文章

      网友评论

          本文标题:用Promise.all 做前端并发

          本文链接:https://www.haomeiwen.com/subject/ltrnvctx.html