如何使JSON.parse适合Promise.all?

时间:2017-08-19 18:02:37

标签: javascript json promise

我从Riot Games League of Legends API中获取此代码以检索一批匹配:

const matches = await Promise.all(matchlist.matches.map(function(match){
    return qRequest(server, "/match/v3/matches/" + match.gameId);
}));

返回值是JSON格式的String。所以matches最终成为一系列JSON字符串。我需要解析JSON,因此匹配是一个对象数组。

我无法解决如何在这里安装JSON.parse的问题?

1 个答案:

答案 0 :(得分:1)

您可以将Array#map应用于matches

let matches = ... ;
matches = matches.map(json => JSON.parse(json));

或致电JSON.parse内联:

const matches = await Promise.all(matchlist.matches.map(function(match){
  return qRequest(server, "/match/v3/matches/" + match.gameId)
    .then(json => JSON.parse(json));
}));