回答編集履歴
1
Promiseの説明の流れを修正
answer
CHANGED
@@ -32,13 +32,19 @@
|
|
32
32
|
});
|
33
33
|
```
|
34
34
|
|
35
|
+
Node.jsでは「HTTP通信」やハードディスクの読み書き等は遅い処理として非同期処理の先に飛ばして後で処理するような思想で動いています。
|
35
|
-
Discord.jsはDiscordというシステムに問い合わせを行
|
36
|
+
Discord.jsはDiscordというシステムに問い合わせを行いますが、
|
36
|
-
|
37
|
+
このDiscordに問い合わせがまんまHTTP通信というクソ遅い処理なのです。
|
37
38
|
|
39
|
+
従って多くの機能がPromiseインスタンスを返すと想定されます。
|
40
|
+
Promiseは非同期処理をオブジェクト指向プログラミングのテクニックで上手く処理する
|
41
|
+
Node.jsが用意している最新の非同期処理の取扱い方法になります。
|
42
|
+
|
38
43
|
[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)の順番で勉強して、
|
39
|
-
きちんと使いこなせるようにな
|
44
|
+
きちんと使いこなせるようになるのがよいでしょう。
|
40
45
|
|
46
|
+
ただまぁ、私もPromiseを完璧に理解して使いこなせるようになるまで数週間かかりました。
|
41
|
-
|
47
|
+
上のawaitがPromiseを扱うのに絶大な力を持ってて、
|
42
48
|
async関数で有効化出来るんだよくらいの認識でとりあえず開発は続けられると思います。
|
43
49
|
気が向いたら勉強してみてください。
|
44
50
|
|
@@ -63,7 +69,10 @@
|
|
63
69
|
`Returns: Promise <(GuildMember|User|Snowflake)>`
|
64
70
|
|
65
71
|
という訳でドキュメントが古くて仕様が変わっているというような事が無ければ
|
66
|
-
返り値はPromise
|
72
|
+
返り値はPromiseであり、変わることは中々ないでしょう。
|
73
|
+
|
67
74
|
丁寧に使い方もコードで紹介されています……が、
|
68
|
-
Promiseを使っても非同期処理は非同期処理のままなので
|
75
|
+
Promiseを使っても非同期処理は非同期処理のままなので
|
76
|
+
コールバック地獄と大差のないエラーハンドリングのおまじないだらけになります。
|
77
|
+
|
69
|
-
|
78
|
+
async/await構文を使ってラッピング、ハンドリングした方が良いでしょう。
|