function bar() { await p; throw new Error("oops"); } foo(); p がresolveされたとき、barの残りの処理がマイ クロタスクとしてスケジュールされる (コールスタックが空になったとき)barの残り の処理がマイクロタスクとして実⾏される コールスタックは bar
function bar() { await p; throw new Error("oops"); } foo(); p がresolveされたとき、barの残りの処理がマイ クロタスクとしてスケジュールされる (コールスタックが空になったとき)barの残り の処理がマイクロタスクとして実⾏される コールスタックは bar エラーがthrowされる コールスタックは bar よってスタックトレースには bar しか乗らない ❌