Axios请求 - 查看响应中的所有对象

时间:2017-07-12 12:44:15

标签: node.js angular express axios

我试图运行多个API请求并显示所有这些数据的数据,我已经尝试了几种不同的方式,但它们都没有包含来自请求的所有数据。

最近我有(这包含来自第二个请求的所有内容,只有来自第一个的'名称'来自

router.get('/summoner2', (req, res) => {

  axios.all([
    axios.get('https://euw1.api.riotgames.com/lol/summoner/v3/summoners/by-name/SUMMONERNAME', {headers: head}),
    axios.get('https://euw.api.riotgames.com/api/lol/EUW/v1.3/stats/by-summoner/SUMMONERID/summary?season=SEASON2017', {headers: head})
  ])
  .then(axios.spread(function(summonerResponse, statsResponse){
    res.json(summonerResponse.data);
    res.json(statsResponse.data);
  }))
});

仅包含来自FIRST电话的所有数据:

router.get('/summoner3', (req, res) => {

  function getSummoner(){

    return axios.get('https://euw1.api.riotgames.com/lol/summoner/v3/summoners/by-name/SUMMONERNAME', {headers: head});

  }

  function getStats(){

    return axios.get('https://euw.api.riotgames.com/api/lol/EUW/v1.3/stats/by-summoner/SUMMONERID/summary?season=SEASON2017', {headers: head});

  }

  axios.all([getSummoner(), getStats()])
  .then(axios.spread(function (summoner, stats) {
    res.json(summoner.data)
    res.json(stats.data)
  }));
});

仅包含来自FIRST请求的所有数据:

{{1}}

我现在正在学习,所以在这里可能完全错误,但我们将非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您只能发送一次回复。 目前您要发送res.json(); res.json()两次。 这不是那样的。您可以在nodejs控制台中看到错误日志。

记住:一个请求,一个响应。

你只需要发送一次,如下所示

res.json([summoner.data, stats.data])