Data Fetching in the Browser: From XMLHttpRequest to fetch

How browsers request data without a full page reload, why the old callback style was painful, and how fetch with async/await made it readable.