promise, async, await, execution order

async can be transformed to promise. So, if we want to understand async, we have to understand promise first.