Async Await

HTML

<ul id="posts"></ul>

JavaScript

const posts = [ { title: 'Post One', body: 'This is post one' }, { title: 'Post Two', body: 'This is post two' } ]; function getPosts() { setTimeout(() => { let output = ''; posts.forEach((post, index) => { output += `<li>${post.title}</li>`; }); document.getElementById('posts').innerHTML = output; }, 1000); } function createPost(post) { return new Promise((resolve, reject) => { setTimeout(() => { posts.push(post); const error = false; if (!error) { resolve(); } else { reject('Error: Something went wrong'); } }, 2000); }); } async function init() { await createPost({ title: 'Post Three', body: 'This is post three' }); getPosts(); } init();

Code from Brad Traversy's tutorial:
Async JS Crash Course - Callbacks, Promises, Async Await
https://www.youtube.com/watch?v=PoRJizFvM7s

Demo