回答編集履歴
1
Promiseの説明の流れを修正
test
CHANGED
@@ -66,19 +66,31 @@
|
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
-
|
69
|
+
Node.jsでは「HTTP通信」やハードディスクの読み書き等は遅い処理として非同期処理の先に飛ばして後で処理するような思想で動いています。
|
70
70
|
|
71
|
+
Discord.jsはDiscordというシステムに問い合わせを行いますが、
|
72
|
+
|
73
|
+
このDiscordに問い合わせがまんまHTTP通信というクソ遅い処理なのです。
|
74
|
+
|
75
|
+
|
76
|
+
|
71
|
-
多くの機能がPromiseインスタンスを返すと想定されます。
|
77
|
+
従って多くの機能がPromiseインスタンスを返すと想定されます。
|
78
|
+
|
79
|
+
Promiseは非同期処理をオブジェクト指向プログラミングのテクニックで上手く処理する
|
80
|
+
|
81
|
+
Node.jsが用意している最新の非同期処理の取扱い方法になります。
|
72
82
|
|
73
83
|
|
74
84
|
|
75
85
|
[Promise](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise)→[async](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/AsyncFunction)/[await](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/await)の順番で勉強して、
|
76
86
|
|
77
|
-
きちんと使いこなせるようにな
|
87
|
+
きちんと使いこなせるようになるのがよいでしょう。
|
78
88
|
|
79
89
|
|
80
90
|
|
91
|
+
ただまぁ、私もPromiseを完璧に理解して使いこなせるようになるまで数週間かかりました。
|
92
|
+
|
81
|
-
|
93
|
+
上のawaitがPromiseを扱うのに絶大な力を持ってて、
|
82
94
|
|
83
95
|
async関数で有効化出来るんだよくらいの認識でとりあえず開発は続けられると思います。
|
84
96
|
|
@@ -128,10 +140,16 @@
|
|
128
140
|
|
129
141
|
という訳でドキュメントが古くて仕様が変わっているというような事が無ければ
|
130
142
|
|
131
|
-
返り値はPromise
|
143
|
+
返り値はPromiseであり、変わることは中々ないでしょう。
|
144
|
+
|
145
|
+
|
132
146
|
|
133
147
|
丁寧に使い方もコードで紹介されています……が、
|
134
148
|
|
135
|
-
Promiseを使っても非同期処理は非同期処理のままなので
|
149
|
+
Promiseを使っても非同期処理は非同期処理のままなので
|
136
150
|
|
151
|
+
コールバック地獄と大差のないエラーハンドリングのおまじないだらけになります。
|
152
|
+
|
153
|
+
|
154
|
+
|
137
|
-
|
155
|
+
async/await構文を使ってラッピング、ハンドリングした方が良いでしょう。
|