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

回答編集履歴

3

誤字訂正

2020/06/22 21:22

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -18,5 +18,5 @@
18
18
 
19
19
  厳密には違います。
20
20
 
21
- HTTP通信におけるデータは「HTTPヘッダ+空行+HTTPデータ」となります。
21
+ HTTP通信におけるデータは「HTTPヘッダ+空行+HTTP」となります。
22
- HTTPヘッダは受け取ったが、HTTPデータは読み込み中の状態と考えます。
22
+ HTTPヘッダは受け取ったが、HTTPは読み込み中の状態と考えます。

2

追記

2020/06/22 21:22

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -11,4 +11,12 @@
11
11
  1. (受け取るJSONデータのサイズが大きいときは特に、一度に全体を受信できないので)JSONを分割して少しずつ受け取る実装になっている。 ``data`` イベントが複数回発火して、受け取った一部分がコールバック関数に渡される。
12
12
  3. 全ての受信を終えると ``end`` イベントが発火し、``rawData`` に構築されたJSONデータを利用できる。
13
13
 
14
- ※ dataイベント用のコールバック関数と、endイベント用のコールバック関数の両方から参照できるスコープ上に``rawData``が宣言されています。
14
+ ※ dataイベント用のコールバック関数と、endイベント用のコールバック関数の両方から参照できるスコープ上に``rawData``が宣言されています。
15
+
16
+ 追記)
17
+ > ステータスコードを表示させると200が返ってくるのでデータ自体は取得できているはずなのですが
18
+
19
+ 厳密には違います。
20
+
21
+ HTTP通信におけるデータは「HTTPヘッダ+空行+HTTPデータ」となります。
22
+ HTTPヘッダは受け取ったが、HTTPデータは読み込み中の状態と考えます。

1

訂正

2020/06/22 21:17

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -1,14 +1,14 @@
1
1
  > JSON.parse(data || "null")と書き換えても解決しませんでした
2
2
 
3
- ご質問のコード内の仮引数 ``data`` は JSON全体ではなく、通信の過程で受け取るJSONの一部分になります。(``chunk``:チャンクと命名する人もいます)
3
+ ご質問のコード内の仮引数 ``data`` は JSON全体ではなく、通信の過程で受け取るJSONの一部分になります。
4
+ (``chunk``:チャンクと命名する人もいます)
4
5
 
5
6
  ----
6
- HTTPS モジュールは HTTPモジュールに似た実装なので、
7
- [Http#get()](https://nodejs.org/api/http.html#http_http_get_options_callback)の「JSON fetching example:」として示されるサンプルコードを参考にしてください。
7
+ HTTPS モジュールは HTTPモジュールに似た実装なので、公式ドキュメント [Http#get()](https://nodejs.org/api/http.html#http_http_get_options_callback)の「**JSON fetching example:**」として示されるサンプルコードを参考にしてください。
8
8
 
9
9
 
10
10
  サンプルコードから読み取れるのは、
11
- 1. (受け取るJSONデータのサイズが大きいときは特に、一度に全体を受信できないので)JSONの一部を分割して受け取る実装になっている。 ``data`` イベントが複数回発火して、受け取った一部分がコールバック関数に渡される。
11
+ 1. (受け取るJSONデータのサイズが大きいときは特に、一度に全体を受信できないので)JSONを分割して少しずつ受け取る実装になっている。 ``data`` イベントが複数回発火して、受け取った一部分がコールバック関数に渡される。
12
- 3. 全ての受信を終えると ``end`` イベントが発火し、``rawData`` に JSON全体を利用できる。
12
+ 3. 全ての受信を終えると ``end`` イベントが発火し、``rawData`` に構築されたJSONデータを利用できる。
13
13
 
14
14
  ※ dataイベント用のコールバック関数と、endイベント用のコールバック関数の両方から参照できるスコープ上に``rawData``が宣言されています。