promises
Promises in JavaScript are a way to handle asynchronous operations. They represent a future value or error that will be available at some point in time. Promises have three states:
1. Pending: Initial state, neither fulfilled nor rejected.
2. Fulfilled: Meaning that the operation completed successfully, and the promise now has a resulting value.
3. Rejected: Meaning that the operation failed, and the promise has an associated error.
I promise to return something in the future