Promise
In plain terms
An object representing a future result of an asynchronous operation.
Going deeper
A promise stands in for a value that isn't ready yet, resolving with success or rejecting with an error later. It flattens nested callbacks into readable chains and pairs with async/await.
Under the hood
Has pending/fulfilled/rejected states and chains via .then/.catch; async/await is syntactic sugar over promises, and Promise.all parallelizes.
Examples
fetch().then(), async/await, Promise.all, JavaScript/TypeScript async code.
Think of it like...
Like a coat-check ticket: you get a claim stub now and exchange it for your coat once it's ready, instead of waiting at the rack.