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

質問編集履歴

1

コード修正

2020/09/25 02:51

投稿

yuki_90453
yuki_90453

スコア326

title CHANGED
File without changes
body CHANGED
@@ -2,22 +2,46 @@
2
2
  ```ここに言語を入力
3
3
  const getData = async(param:any) =>{
4
4
  return await API.get(url,param).then((res)=>{
5
- return res as string[]
5
+ return res;
6
6
  })
7
7
  }
8
8
 
9
- const test1 = await getData({
9
+ const Param1 = {
10
10
  TYPE: 'Order',
11
11
  UID: 787459697
12
+ // ... optional
12
- })
13
+ }
14
+ type OutputOrder ={
15
+ OrderDetail: {
16
+ OrderNumer: Number,
17
+ Name: String,
18
+ ...
19
+ }
20
+ }
21
+ const test1:OutputOrder = await getData(Param1)
13
22
  test1 // -> {OrderDetail :{OrderNumer: 00000, ...}}
14
23
 
24
+
15
- const test2 = await getData({
25
+ const Param2 = {
16
26
  TYPE: 'ProductName',
17
27
  UID: 'Mikan'
18
- })
28
+ }
29
+ type OutputProduct = {
30
+ ProductDetail:{
31
+ ProductName: String,
32
+ ID: Numebr,
33
+ ...
34
+ }
35
+ }
36
+ const test2:OutputProduct = await getData(Param2)
19
37
  test2 // -> {ProductDetail :{ProductName: 'Mikan', ...}}
20
38
 
21
39
  ```
22
40
  自身が管理するDBから取得する為、返す値の型がわかります。戻り値に型を添えて返し、補完機能を上手く活用したいと考えております。
23
- 上記のように、ParamのTYPEによって戻り値がわかる為、TYPEの値によって動的に型を変更するにはどのようにすれば良いでしょうか?
41
+ 上記のように、ParamのTYPEによって戻り値がわかる為、TYPEの値によって動的に型を変更するにはどのようにすれば良いでしょうか?
42
+
43
+ #追記
44
+ コード部分を修正しました。
45
+
46
+ >上記のように、ParamのTYPEによって戻り値がわかる為
47
+ わかりにくくてすみません。Paramというのは関数に指定した引数の部分です。念の為、Param1という形で定義しました。