JS callback-promise
Promise is a JavaScript object for asynchronous operation.
state: pending -> fulfilled or rejected
Producer vs Consumer

when new Promise is created, the executor runs automatically.
we can make some delay.

I use setTimeout with 2000 millisecond.
park printed after 2 second later.
but how to catch error?

we use reject instead of resolve. and add .catch after .then
and lastly
.finally

.finally(). it print always at the end whether it is resolve or reject
I will write more about this later.