Whenever you're ready, walk me through how you'd approach this.
How do you handle asynchronous operations in JavaScript? Explain the lifecycle and common use cases for Promises.