微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Await 不等待另一个 Await

如何解决Await 不等待另一个 Await

Await 函数对我不起作用,当代码从第 22 行调用到达第 36 行时(直到这行一切正常),代码跳转到第 32 行(不执行第 (22-31) 行) ) ,然后返回第 13 行并返回空数组。

知道我做错了什么吗?

/*1*/ async function getMatchesInfo(matches_ids_list){
/*2*/    let promises = [];
/*3*/    matches_ids_list.map((id) =>
/*4*/      promises.push(
/*5*/        axios.get(`${api_domain}/fixtures/${id}`,{
/*6*/          params: {
/*7*/            api_token: process.env.api_token,/*8*/          },/*9*/        })
/*10*/      )
/*11*/    );
/*12*/    let matches_info = await Promise.all(promises);
/*13*/    const matches_rel_info = await extractRelevantMatchData(matches_info);
/*14*/    return matches_rel_info
/*15*/  }
/*16*/
/*17*/
/*18*/  async function extractRelevantMatchData(matches_info) {
/*19*/    list = []
/*20*/    await matches_info.map( async (match_info) => {
/*21*/      const {time,id,localteam_id,visitorteam_id,venue_id}=match_info.data.data;
/*22*/      let stadium_info = await getStadiumName(venue_id) 
/*23*/      list.push({
/*24*/        match_id: id,/*25*/        date: time.starting_at.date.split('-').reverse().join('/'),/*26*/        hour: time.starting_at.time.split(':').slice(0,2).join(':'),/*27*/        host_team: localteam_id,/*28*/        away_team: visitorteam_id,/*29*/        stadium: stadium_info,/*30*/      })
/*31*/    })
/*32*/    return list
/*33*/ }
/*34*/
/*35*/  async function getStadiumName(venue_id){
/*36*/    const venue_info = await axios.get(`${api_domain}/venues/${venue_id}`,{
/*37*/      params: {
/*38*/        api_token: process.env.api_token,/*39*/      },/*40*/    })
/*41*/    return venue_info.data.data.city + ',' + venue_info.data.data.name;
/*42*/  }
/*43*/
/*44*/ (async()=>{return await getMatchesInfo([1,2,3])})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。