回答編集履歴
1
誤字修正
test
CHANGED
@@ -12,11 +12,9 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
従来の非同期処理を行う際には、
|
16
|
-
|
17
|
-
予め後続の処理を関数に閉じ込めて渡す
|
15
|
+
従来の非同期処理は、予め後続の処理を関数に閉じ込めて引数として渡します。
|
18
|
-
|
16
|
+
|
19
|
-
概ねこんな感じにな
|
17
|
+
概ねこんな感じになるでしょう。
|
20
18
|
|
21
19
|
|
22
20
|
|
@@ -102,17 +100,21 @@
|
|
102
100
|
|
103
101
|
|
104
102
|
|
105
|
-
つまり、非同期処理の場合はこの第一引数を
|
103
|
+
つまり、非同期処理の場合はこの第一引数を見張り続ける必要があります。
|
104
|
+
|
105
|
+
長く深いネスト構造はイライラの元です。
|
106
106
|
|
107
107
|
しかもひたすらネストされ続けるのでイライラがMAXになるわけです。
|
108
108
|
|
109
109
|
|
110
110
|
|
111
|
-
promiseの
|
111
|
+
promiseはこの問題にメスを入れました。
|
112
|
+
|
112
|
-
|
113
|
+
失敗時には何時でもrejectを叩いて逃げられます。
|
114
|
+
|
113
|
-
慣習である第一引数のerrがなくなり、コードも簡素になります。
|
115
|
+
また慣習である第一引数のerrがなくなり、コードも簡素になります。
|
114
|
-
|
116
|
+
|
115
|
-
このようにバリデートと処理を分離することも
|
117
|
+
利用者側の視点ではこのようにバリデートと処理を分離することも可能になりました。
|
116
118
|
|
117
119
|
|
118
120
|
|
@@ -154,7 +156,9 @@
|
|
154
156
|
|
155
157
|
これがpromiseのrejectの威力で、
|
156
158
|
|
157
|
-
見事try-catchに似たような事が出来ることが確認できます
|
159
|
+
見事try-catchに似たような事が出来ることが確認できます。
|
160
|
+
|
161
|
+
コードのネストもこれ以上に深くなる事はまずありません。
|
158
162
|
|
159
163
|
使う側になって初めてメリットが見えてきますね。
|
160
164
|
|
@@ -162,7 +166,7 @@
|
|
162
166
|
|
163
167
|
client.getはPromiseを返す関数になっています。
|
164
168
|
|
165
|
-
|
169
|
+
内部で失敗した場合「第一引数にerrを突っ込む」という慣習から解き放たれている事がわかります。
|
166
170
|
|
167
171
|
更に後続の処理で`Promise.reject()`でcatchに合流させる事も簡単に出来ます。
|
168
172
|
|