A
Promise
handles a single event when an async operation completes or fails.
So, a promise doesn't handle anything - a promise is just a value over time. The charactaristics of promises are that:
- Because a promise is just a value - promises are multicast which means multiple
.then
s are 'transparent'. - Native promises are what async functions return and what they
await
. - Promises have three states (fulfilled, pending and rejected) and transition between them just once.
Promises aren't really eager - but if you have a promise an operation has already started - so terms lik running promises don't make sense. They have a built in (stage 4 and part of JavaScript) multi-value counterpart (async iterators) which do multiple values and