回答編集履歴

6

脱字

2019/07/12 03:55

投稿

ttakatech
ttakatech

スコア118

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ざっくり説明すると、jsは処理に時間が掛かる動作や関数を後回しにして、他の処理を先に行う性質があります。
13
+ ざっくり説明すると、Node.jsは処理に時間が掛かる動作や関数を後回しにして、他の処理を先に行う性質があります。
14
14
 
15
15
  つまり、通常であれば上から下へ順番に処理されますが、ときどき順番を無視した処理が行われるのです。
16
16
 

5

誤字

2019/07/12 03:55

投稿

ttakatech
ttakatech

スコア118

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  }else if(pathName === '/api'){
40
40
 
41
- const data = fs.readFileSync(dirname, 'utf-8')
41
+ const data = fs.readFileSync(`${__dirname}/data/data.jsone`, 'utf-8')
42
42
 
43
43
  res.writeHead(200, {'Content-type': 'application/json'});
44
44
 

4

個人情報を載せてしまった

2019/07/11 01:54

投稿

ttakatech
ttakatech

スコア118

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  }else if(pathName === '/api'){
40
40
 
41
- const data = fs.readFileSync(`/Users/takahashitomoki/Public/data/data.json`, 'utf-8')
41
+ const data = fs.readFileSync(dirname, 'utf-8')
42
42
 
43
43
  res.writeHead(200, {'Content-type': 'application/json'});
44
44
 

3

情報追加

2019/07/11 01:52

投稿

ttakatech
ttakatech

スコア118

test CHANGED
@@ -1,4 +1,6 @@
1
1
  この問題の原因はjsの非同期的な動きによるものだと思います。
2
+
3
+ [参考サイト](https://qiita.com/YoshikiNakamura/items/732ded26c85a7f771a27)
2
4
 
3
5
  [参考サイト](https://chuckwebtips.hatenablog.com/entry/2015/08/19/070000)
4
6
 

2

誤字

2019/07/10 18:03

投稿

ttakatech
ttakatech

スコア118

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  今回の場合ですと、``fs.readFile``関数が処理に時間がかかる関数です。
18
18
 
19
- この関数内の処理を待っている間に、先に処理を進めてif分の終わりまで行きます。そして``res.end('Hello!');``まで先に到達しまうのです。
19
+ この関数内の処理を待っている間に、先に処理を進めてif分の終わりまで行きます。そして``res.end('Hello!');``先に実行てしまうのです。
20
20
 
21
21
  後から``res.end(data);``が実行されますが、すでにクライアントへ``res.end('Hello!');``でデータを渡しているため、jsonファイルは表示されません。
22
22
 

1

脱字

2019/07/10 17:59

投稿

ttakatech
ttakatech

スコア118

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- 今回の場合ですと、``fs.read``関数が処理に時間がかかる関数です。
17
+ 今回の場合ですと、``fs.readFile``関数が処理に時間がかかる関数です。
18
18
 
19
19
  この関数内の処理を待っている間に、先に処理を進めてif分の終わりまで行きます。そして``res.end('Hello!');``まで先に到達しまうのです。
20
20