回答編集履歴

1

調整

2024/04/23 07:34

投稿

yambejp
yambejp

スコア115010

test CHANGED
@@ -1,14 +1,12 @@
1
1
  ルートでawaitを利用するにはmoduleを採用する手はあります
2
2
  ```javascript
3
3
  <script type="module">
4
- let data = [];
5
- let nameValue = ""
6
4
  async function testData() {
7
5
  const res = await fetch("https://script.google.com/macros/s/AKfycbwHgr1r_IMMX5i-icdtoQxj6uhmzkSey-IjZAOcpRTjFu48L4sDrpydm7DNumZdQqq8/exec").then(res=>res.json());
8
6
  const data=res.reduce((x,y)=>(x.push(Object.values(y)[0]),x),[]);
9
7
  return data;
10
8
  }
11
- let datas = await testData();
9
+ const datas = await testData();
12
10
  console.log(datas);
13
11
  </script>
14
12
  ```
@@ -23,9 +21,21 @@
23
21
  const data=res.reduce((x,y)=>(x.push(Object.values(y)[0]),x),[]);
24
22
  return data;
25
23
  }
26
- let datas = await testData();
24
+ const datas = await testData();
27
25
  console.log(datas);
28
26
  })();
29
27
  </script>
30
28
 
31
29
  ```
30
+ ちなみに呼び出すfunctionにasnyc指定をせずにもpromiseをしてもよいです
31
+ ```javascript
32
+ (async()=>{
33
+ const testData=()=>new Promise(async resolve=>{
34
+ const res = await fetch("https://script.google.com/macros/s/AKfycbwHgr1r_IMMX5i-icdtoQxj6uhmzkSey-IjZAOcpRTjFu48L4sDrpydm7DNumZdQqq8/exec").then(res=>res.json());
35
+ const data=res.reduce((x,y)=>(x.push(Object.values(y)[0]),x),[]);
36
+ resolve(data);
37
+ });
38
+ const datas = await testData();
39
+ console.log(datas);
40
+ })();
41
+ ```