質問編集履歴

1

「試したこと」に関して…解決していませんが、URL先を再度見直し書き直しました。

2021/07/28 01:05

投稿

aoa02ssm
aoa02ssm

スコア1

test CHANGED
File without changes
test CHANGED
@@ -90,6 +90,8 @@
90
90
 
91
91
  上記が近いのではと思い下記のように修正してみましたが、やはり関数内でif文が先に動いてしまうようです。
92
92
 
93
+ また、関数checkTESTの戻り値に関して「'void' 型の式は、真実性をテストできません。」というエラーが出ます。
94
+
93
95
  ```typescript
94
96
 
95
97
  export class TestComponent implements OnInit {
@@ -116,29 +118,37 @@
116
118
 
117
119
 
118
120
 
119
- checkTEST(testID: number, testCount: number){
121
+ checkTEST(testID: number, testCount: number) {
120
122
 
121
- this.testService.countTest(testID).subscribe(res => {
123
+ this.counter(testID).subscribe(testData => {
122
124
 
123
- // 1. subscribeで取得したデータを用いて(testData = res.body)
125
+ if (testData) {
124
126
 
125
- this.testData.next(res.body);
127
+ return Number(testData) > testCount;
128
+
129
+ } else {
130
+
131
+ return false;
132
+
133
+ }
126
134
 
127
135
  });
128
136
 
137
+ }
129
138
 
139
+ counter(testID: number){
130
140
 
131
- // 2. if文で条件分岐し(if (testData))、値を返したい
141
+ let testData;
132
142
 
133
- if (testData) {
143
+ this.testService.countTest(orgId).subscribe(res => {
134
144
 
135
- return Number(this.testData) < testCount;
145
+ testData = res.body;
136
146
 
137
- } else {
147
+ this.testData.next(testData);
138
148
 
139
- return false;
149
+ });
140
150
 
141
- }
151
+ return this.testData;
142
152
 
143
153
  }
144
154