Whenever you're ready, walk me through how you'd approach this.
What are the key differences between various JavaScript asynchronous patterns and when should each be used?