Skip to content

Commit e7f9a2f

Browse files
committed
確認問題と演習問題を修正
1 parent 27a530f commit e7f9a2f

File tree

30 files changed

+239
-200
lines changed

30 files changed

+239
-200
lines changed

docs/3-web-servers/06-fetch-api/_samples/currency-converter/main.mjs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,13 @@ import express from "express";
22

33
const app = express();
44
app.use(express.static("./public"));
5-
app.get("/exchange-rate", (request, response) => {
6-
const rate = Math.random() * 20 + 140;
7-
response.send(rate);
5+
6+
app.get("/exchange-rates", (request, response) => {
7+
const rates = {
8+
usdJpy: 140 + Math.random() * 20,
9+
eurJpy: 150 + Math.random() * 20,
10+
};
11+
response.json(rates);
812
});
13+
914
app.listen(3000);

docs/3-web-servers/06-fetch-api/_samples/currency-converter/public/index.html

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
<title>通貨換算</title>
66
</head>
77
<body>
8-
<p>
9-
<input type="number" id="yen-input" placeholder="" />
10-
<button id="convert-button">計算</button>
11-
</p>
12-
<p><span id="result"></span>ドル</p>
13-
<script type="module" src="./script.mjs"></script>
8+
<input type="number" id="jpy-input" placeholder="" />
9+
<button id="convert-button" type="button">計算</button>
10+
<div><span id="usd-result"></span>ドル</div>
11+
<div><span id="eur-result"></span>ユーロ</div>
12+
<script src="./script.js"></script>
1413
</body>
1514
</html>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// await演算子を使用するため、asyncキーワードが必要
2+
document.getElementById("convert-button").onclick = async () => {
3+
// 入力された円の金額を取得
4+
const jpyInput = document.getElementById("jpy-input");
5+
const jpy = parseFloat(jpyInput.value);
6+
7+
// 為替レートを取得
8+
const response = await fetch("/exchange-rates");
9+
const rates = await response.json();
10+
11+
// ドルに換算
12+
const usd = jpy / rates.usdJpy;
13+
14+
// ユーロに換算
15+
const eur = jpy / rates.eurJpy;
16+
17+
// 結果を表示
18+
document.getElementById("usd-result").textContent = usd;
19+
document.getElementById("eur-result").textContent = eur;
20+
};

docs/3-web-servers/06-fetch-api/_samples/currency-converter/public/script.mjs

Lines changed: 0 additions & 16 deletions
This file was deleted.

docs/3-web-servers/06-fetch-api/_samples/exchange-rate/main.mjs

Lines changed: 0 additions & 9 deletions
This file was deleted.

docs/3-web-servers/06-fetch-api/_samples/exchange-rate/public/index.html

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/3-web-servers/06-fetch-api/_samples/exchange-rate/public/script.mjs

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/3-web-servers/06-fetch-api/_samples/exchange-rate/.gitignore renamed to docs/3-web-servers/06-fetch-api/_samples/exchange-rates/.gitignore

File renamed without changes.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import express from "express";
2+
3+
const app = express();
4+
app.use(express.static("./public"));
5+
6+
app.get("/exchange-rates", (request, response) => {
7+
const rates = {
8+
usdJpy: 140 + Math.random() * 20,
9+
eurJpy: 150 + Math.random() * 20,
10+
};
11+
response.json(rates);
12+
});
13+
14+
app.listen(3000);

docs/3-web-servers/06-fetch-api/_samples/exchange-rate/package-lock.json renamed to docs/3-web-servers/06-fetch-api/_samples/exchange-rates/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)