この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript クイズ
47. Promise Order II
出力は以下の通りです:
1
4
6
13
8
9
11
undefined
10
12
解説:
console.log(1)
が最初に実行され、1が出力されます。setTimeout
関数が2つ呼ばれます。2番目のsetTimeout
は0ミリ秒で設定されていますが、これが即座に実行されるわけではありません。そのため、次の行でPromise
が生成される前にconsole.log(2)
が出力されます。Promise
が生成される前に、console.log(4)
が出力されます。その後、reject(5)
が呼ばれ、Promise
が失敗状態になります。console.log(6)
が実行されますが、catch
ブロックに移行し、console.log(8)
が出力されます。catch
ブロックからのPromise
チェーンの最初のthen
であるthen(() => console.log(7))
が実行され、7が出力されます。Promise
チェーンに続くcatch
ブロックが実行され、console.log(10)
が出力されます。しかし、エラーがハンドリングされたため、Promiseチェーンは失敗状態にはならないため、その後のthen
ブロックが続きます。then
ブロックに続く、console.log(9)
が出力されます。この後、もう一度then
ブロックに移り、console.log(11)
が出力されます。- 次の
then
ブロックはconsole.log
だけであるため、出力される値はundefinedとなります。その後finally
ブロックが実行され、console.log(12)
が出力されます。 - 最後に、
console.log(13)
が出力されます。