Instruction: Explain the concept of Promises and how they are used for asynchronous operations.
Context: This question assesses the candidate's understanding of asynchronous programming in JavaScript, an essential concept for modern web development.
easy
medium
hard