回答編集履歴
3
訂正
answer
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
> Promiseオブジェクトを返す関数
|
20
20
|
|
21
|
-
Promise を返却する関数は async/await と組み合わせることで JSONを返却する関数のように書けます(Promise や async/awaitは[こちら](https://teratail.com/questions/222201#reply-325479)で言及したことがあります)。
|
21
|
+
Promise を返却する関数は ~~async/~~await と組み合わせることで JSONを返却する関数のように書けます(Promise や async/awaitは[こちら](https://teratail.com/questions/222201#reply-325479)で言及したことがあります)。
|
22
22
|
|
23
23
|
もし、フロー制御が難解に感じるようでしたら、gentaro さんの回答を参考にコールバック関数で処理しても良いと思います(コールバック関数はフロー制御を学ぶ上での基礎)。
|
24
24
|
|
2
追記
answer
CHANGED
@@ -10,4 +10,16 @@
|
|
10
10
|
|
11
11
|
フロントエンドでも同じ書式で利用できる [axios](https://github.com/axios/axios) のようなモジュールなど、「NodeJS HTTP通信」をキーワードに検索すると、他にも多くの候補が出てくると思います。
|
12
12
|
|
13
|
-
Promise に対応した 使いやすいものに置き換えることで return で受け取れるようになるはずです。
|
13
|
+
Promise に対応した 使いやすいものに置き換えることで return で受け取れるようになるはずです。
|
14
|
+
|
15
|
+
|
16
|
+
----
|
17
|
+
追記)コメントを受けて
|
18
|
+
|
19
|
+
> Promiseオブジェクトを返す関数
|
20
|
+
|
21
|
+
Promise を返却する関数は async/await と組み合わせることで JSONを返却する関数のように書けます(Promise や async/awaitは[こちら](https://teratail.com/questions/222201#reply-325479)で言及したことがあります)。
|
22
|
+
|
23
|
+
もし、フロー制御が難解に感じるようでしたら、gentaro さんの回答を参考にコールバック関数で処理しても良いと思います(コールバック関数はフロー制御を学ぶ上での基礎)。
|
24
|
+
|
25
|
+
ちなみに、Promise.then() に渡す関数もコールバック関数ですね。
|
1
訂正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
> 原因はなんなんでしょうか?
|
2
2
|
|
3
3
|
NPM [request](https://github.com/request/request) モジュールは非同期の実装だからです
|
4
|
-
(
|
4
|
+
(結果を受け取れるのはコールバック関数内でのみ)。
|
5
5
|
|
6
6
|
----
|
7
7
|
return で受け取るには **フロー制御である Promise と async 関数の理解**が必要になりますが、request を Promise 化した[resuest-promise](https://github.com/request/request-promise) があります(qiita [request-promiseを使ったHTTPクライアントを作る](https://qiita.com/you21979@github/items/37d62a7d190505bc089a))。
|