回答編集履歴
2
ご指摘によりインターバルを10msから100msに変更
answer
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
async function waitForFlag(s) {
|
18
18
|
var e = new Date().getTime() + (s * 1000);
|
19
19
|
while (new Date().getTime() <= e) {
|
20
|
-
await promissSleep(
|
20
|
+
await promissSleep(100); // 10msずつsleep=>あまりに頻繁すぎるので100msに...
|
21
21
|
if (flag !== 0) break;
|
22
22
|
}
|
23
23
|
}
|
1
コードのミスを訂正
answer
CHANGED
@@ -5,9 +5,9 @@
|
|
5
5
|
また、もし非同期処理(setTimerなど)を上から下へ同期的に実行されるかのように書きたいならPromise/async/awaitを使うのも一つの方法と思います。
|
6
6
|
|
7
7
|
```javascript
|
8
|
-
function promissSleep(
|
8
|
+
function promissSleep(t) {
|
9
9
|
return new Promise(resolve => {
|
10
|
-
setTimeout(resolve,
|
10
|
+
setTimeout(resolve, t);
|
11
11
|
});
|
12
12
|
}
|
13
13
|
|