title: How do I combine two fetch request into the same array?
body: <p>I am trying to combine two fetch requests in one call so I can get all the data in the same array.</p>
  
  <p>I have tried the Promise.all method but I don't know if it is the right way to do it.</p>
  
  <pre><code>getWeather = async (e) =&gt; {
  e.preventDefault();
  const city = e.target.elements.city.value;
  //const api_call = await
  const promises = await Promise.all([
     fetch(`http://api.openweathermap.org/data/2.5/weather?q=${city}&amp;units=metric&amp;APPID=${API_KEY}`),
    fetch(`http://api.openweathermap.org/data/2.5/forecast?q=${city}&amp;units=metric&amp;APPID=${API_KEY}`)
  ])
  
  const data = promises.then((results) =&gt;
  Promise.all(results.map(r =&gt; r.text())))
  .then(console.log)
  </code></pre>
  
  <p>The code actually works and I'm getting data back but I can't understand the json response. </p>
  
  <pre><code>  (2) ["{"coord":{"lon":-5.93,"lat":54.6},"weather":[{"id"…7086601},"id":2655984,"name":"Belfast","cod":200}", "{"cod":"200","message":0.0077,"cnt":40,"list":[{"d…on":-5.9301},"country":"GB","population":274770}}"]
  </code></pre>
  
  <p>How should I set the state?
  My state was set like this, with only one call.</p>
  
  <pre><code>  if (city) {
    this.setState({
      temperature: data[0].main.temp,
      city: data[0].name,
  </code></pre>
  
  <p>Is there a better way to do it?</p>