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

回答編集履歴

3

訂正

2020/04/28 04:00

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

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

追記

2020/04/28 04:00

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

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

訂正

2020/04/28 03:40

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  > 原因はなんなんでしょうか?
2
2
 
3
3
  NPM [request](https://github.com/request/request) モジュールは非同期の実装だからです
4
- returnで結果を受け取れるのはコールバック関数内でのみ)。
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))。