Asynchronous JavaScript: Promises, Async/Await and AJAX - From Promises to Async/Await