title: How to await and resolve actual data in loop
body: <p>I'm looking to populate image-url and dimensions into the <code>ImageData</code> interface in typescript. The <code>getDimensionsFromImageUrl</code> is asynchronous call. How can I create <code>ImageData</code> array with no promises?</p>
  <pre><code>export interface ImageData {
      url: string;
      size: { width: number; height: number };
  }
  
  const images = [];
  Array.from(inputFiles).forEach((file) =&gt; {
      const url = URL.createObjectURL(file);
      const size = getDimensionsFromImageUrl(url);
      images.push({ url, size });
  });
  
  await Promise.all(images);
  </code></pre>
  <p>Using <code>await getDimensionsFromImageUrl(url);</code> had eslint error
  <code>Promise returned in function argument where a void return was expected.</code>
  which I'm not able to resolve.</p>
  <pre><code>        Array.from(inputFiles).forEach(async (file) =&gt; {
              const url = URL.createObjectURL(file);
              const size = await getDimensionsFromImageUrl(url);
              images.push({ url, size });
          });
  </code></pre>