Promises VS async. await and scenarious of uses
            In JavaScript, both async/await and Promise are used to handle asynchronous operations. However, they differ in terms of syntax, readability, and error handling. Let's explore the differences between async/await and Promise with examples and explanations: Syntax: Promise: Promises use a chainable syntax with .then() and .catch() methods to handle asynchronous operations. It involves creating a promise object and attaching callbacks to it. function fetchUser() {   return new Promise((resolve, reject) => {     // Asynchronous operation (e.g., API call)     setTimeout(() => {       const user = { name: 'abhi', age: 130 };       resolve(user);     }, 2000);   }); } fetchUser()   .then((user) => {     console.log(user);   })   .catch((error) => {     console.log(error);   }); async/await: Async functions are defined using the async keyword, and await is used t...