A Promise represents the eventual result of an asynchronous operation. It can be pending, fulfilled, or rejected.
Promises allow asynchronous operations to be composed more cleanly than deeply nested callbacks.
Deep dive
Promise composition
Promises become powerful when multiple asynchronous operations must be combined. Use Promise.all when all operations are required, Promise.allSettled when every result matters even if some fail, and suitable sequential awaits when one operation depends on another.