title: Optimal way to make multiple independent requests to server in Dart
body: <p>I want to make to multiple requests to same server in an optimal way. So I have </p>
  
  <pre><code>Future&lt;List&lt;Item&gt;&gt; getAllItems() async {
      var client = new http.Client();
      List&lt;String&gt; itemsIds = ['1', '2', '3']; //different ids
      List&lt;Item&gt; itemList = [];
      for (var item in itemsIds) {
        //make call to server eg: 'sampleapi/1/next' etc
        await client.get('sampleapi/' + item + '/next').then((response) {
          //Do some processing and add to itemList
  
        });
      }
      client.close();
      return itemList;
  }
  </code></pre>
  
  <p>Now, the api calls are made one after other. But the api calls are independent of each other. Whats the best way to implement so as to avoid the async await hell?</p>