teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

読みやすくなったかな……?

2021/03/31 04:10

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37481

answer CHANGED
@@ -9,29 +9,112 @@
9
9
 
10
10
  ①について、
11
11
 
12
- forEachの1周目は、async()=>{...}【1】をマイクロタスクに積みます。マイクロタスクには、async()=>{...}【1】があります。
12
+ forEachの1周目は、async()=>{...}【1】をマイクロタスクに積みます。
13
+
14
+ ```microTask
15
+ async()=>{...}【1】
16
+ ```
17
+
13
- forEachの2周目は、async()=>{...}【2】をマイクロタスクに積みます。マイクロタスクには、async()=>{...}【1】、async()=>{...}【2】があります。
18
+ forEachの2周目は、async()=>{...}【2】をマイクロタスクに積みます。
19
+
20
+ ```microTask
21
+ async()=>{...}【1】
22
+ async()=>{...}【2】
23
+ ```
24
+
14
25
  ...
15
- forEachの5周目は、async()=>{...}【5】をマイクロタスクに積みます。マイクロタスクには、async()=>{...}【1】、...async()=>{...}【5】があります。
16
26
 
27
+ forEachの5周目は、async()=>{...}【5】をマイクロタスクに積みます。
28
+
29
+ ```microTask
30
+ async()=>{...}【1】
31
+ ...
32
+ async()=>{...}【5】
33
+ ```
34
+
35
+
17
36
  イベントループが周り、マイクロタスクの処理をします。
18
37
 
19
- async()=>{...}【1】の処理をします。awaitがあるので、myPromise()【1】をマイクロタスクに積み、停止します。マイクロタスクには、async()=>{...}【2】、...async()=>{...}【5】、myPromise()【1】があります。
38
+ async()=>{...}【1】の処理をします。awaitがあるので、myPromise()【1】をマイクロタスクに積み、停止します。
39
+
40
+ ```microTask
20
- async()=>{...}【2】の処理をします。awaitがあるので、myPromise()【2】をマイクロタスクに積み、停止します。マイクロタスクには、async()=>{...}【3】、...async()=>{...}【5】、myPromise()【1】、myPromise()【2】があります。
41
+ async()=>{...}【2】
21
42
  ...
22
- async()=>{...}【5】の処理をします。awaitがあるので、myPromise()【5】をマイクロタスクに積み、停止します。マイクロタスクには、myPromise()【1】、...myPromise()【5】があります。
43
+ async()=>{...}【5】
44
+ myPromise()【1】
45
+ ```
23
46
 
24
- 解決されたmyPromise()【1】の処理をします。.then(...)【1】をマイクロタスクに積みます。マイクロタスクにはmyPromise()【2】、...myPromise()【5】、.then(...)【1】があります。
47
+ async()=>{...}2】の処理をします。awaitがあるので、myPromise()【2】をマイクロタスクに積み、停止します。
48
+
49
+ ```microTask
50
+ async()=>{...}【3】
25
51
  ...
26
- 解決されたmyPromise()【5】の処理をします。.then(...)【5】をマイクロタスクに積みます。マイクロタスクには、.then(...)【1】、....then(...)【5】があります。
52
+ async()=>{...}【5】
53
+ myPromise()【1】
54
+ myPromise()【2】
55
+ ```
27
56
 
28
- 解決された.then(...)【1】の処理をします。コンソールに解決された値`foo`を出力し、Promise【1】をマイクロタスクに積みます。マイクロタスクには、.then(...)【2】、....then(...)【5】、Promise【1】があります。
29
57
  ...
30
- 解決された.then(...)【5】の処理をします。コンソールに解決された値`foo`を出力し、Promise【5】をマイクロタスクに積みます。マイクロタスクには、Promise【1】...Promise【5】があります。
31
58
 
32
- Promise【1】が解決されたので、停止していたasync()=>{...}【1】の処理を再開します。コンソールに`element`を出力し、undefined解決して終わります。マイクロタスクにPromise【2】...Promise【5】があります。
59
+ async()=>{...}【5】の処理をします。awaitがあるの、myPromise()【5】をマイクロタスクに積み停止します。
60
+
61
+ ```microTask
62
+ myPromise()【1】
33
63
  ...
64
+ myPromise()【5】
65
+ ```
34
66
 
67
+
68
+ 解決されたmyPromise()【1】の処理をします。.then(...)【1】をマイクロタスクに積みます。
69
+
70
+ ```microTask
71
+ myPromise()【2】
72
+ ...
73
+ myPromise()【5】
74
+ .then(...)【1】
75
+ ```
76
+
77
+ ...
78
+
79
+ 解決されたmyPromise()【5】の処理をします。.then(...)【5】をマイクロタスクに積みます。
80
+
81
+ ```microTask
82
+ .then(...)【1】
83
+ ...
84
+ .then(...)【5】
85
+ ```
86
+
87
+
88
+ 解決された.then(...)【1】の処理をします。コンソールに解決された値`foo`を出力し、Promise【1】をマイクロタスクに積みます。
89
+
90
+ ```microTask
91
+ .then(...)【2】
92
+ ...
93
+ .then(...)【5】
94
+ Promise【1】
95
+ ```
96
+
97
+ ...
98
+
99
+ 解決された.then(...)【5】の処理をします。コンソールに解決された値`foo`を出力し、Promise【5】をマイクロタスクに積みます。
100
+
101
+ ```microTask
102
+ Promise【1】
103
+ ...
104
+ Promise【5】
105
+ ```
106
+
107
+
108
+ Promise【1】が解決されたので、停止していたasync()=>{...}【1】の処理を再開します。コンソールに`element`を出力し、undefinedで解決して終わります。
109
+
110
+ ```microTask
111
+ Promise【2】
112
+ ...
113
+ Promise【5】
114
+ ```
115
+
116
+ ...
117
+
35
118
  という感じです。
36
119
 
37
120
  繰り返しになりますが、かなり大雑把に説明していますので、細かい間違いが含まれています。

1

書式の変更

2021/03/31 04:10

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37481

answer CHANGED
@@ -20,12 +20,15 @@
20
20
  async()=>{...}【2】の処理をします。awaitがあるので、myPromise()【2】をマイクロタスクに積み、停止します。マイクロタスクには、async()=>{...}【3】、...async()=>{...}【5】、myPromise()【1】、myPromise()【2】があります。
21
21
  ...
22
22
  async()=>{...}【5】の処理をします。awaitがあるので、myPromise()【5】をマイクロタスクに積み、停止します。マイクロタスクには、myPromise()【1】、...myPromise()【5】があります。
23
+
23
24
  解決されたmyPromise()【1】の処理をします。.then(...)【1】をマイクロタスクに積みます。マイクロタスクには、myPromise()【2】、...myPromise()【5】、.then(...)【1】があります。
24
25
  ...
25
26
  解決されたmyPromise()【5】の処理をします。.then(...)【5】をマイクロタスクに積みます。マイクロタスクには、.then(...)【1】、....then(...)【5】があります。
27
+
26
28
  解決された.then(...)【1】の処理をします。コンソールに解決された値`foo`を出力し、Promise【1】をマイクロタスクに積みます。マイクロタスクには、.then(...)【2】、....then(...)【5】、Promise【1】があります。
27
29
  ...
28
30
  解決された.then(...)【5】の処理をします。コンソールに解決された値`foo`を出力し、Promise【5】をマイクロタスクに積みます。マイクロタスクには、Promise【1】...Promise【5】があります。
31
+
29
32
  Promise【1】が解決されたので、停止していたasync()=>{...}【1】の処理を再開します。コンソールに`element`を出力し、undefinedで解決して終わります。マイクロタスクには、Promise【2】...Promise【5】があります。
30
33
  ...
31
34