I was interested in "await" behavior, so I ran this code
console.log(await Promise.resolve(Promise.resolve(Promise.resolve("hahaha"))));
in my browser console, the result is correct "hahaha". It seems there is a hidden loop in "await" till no Promise remains. I didn't find explanation from MDN. Anybody knows why? Thanks.