Await Multiple Promises Sequentially or Concurrently

by yustar

HTML

<div id="result">

</div>

JavaScript

async function fetchFromGithub(endpoint) {
  const url = `https://api.github.com${endpoint}`;
  const response = await fetch(url);
  return await response.json();
}

async function showUserAndRepos(handle) {
  const userPromise = fetchFromGithub(`/users/${handle}`);
  const reposPromise = fetchFromGithub(`/users/${handle}/repos`);

  const user = await userPromise;
  const repos = await reposPromise;

  document.getElementById("result").innerHTML = `${user.name} has ${repos.length} repos.`;
}

showUserAndRepos("mdo");