質問編集履歴

3

2019/08/12 12:21

投稿

mightyMask
mightyMask

スコア143

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,9 @@
52
52
 
53
53
  ```
54
54
 
55
- のように出力されるように動作するsleepを実現したいです。
55
+ のように出力されるように動作し、かつ3秒の待ち時間の間はビジー状態にならないようなsleepプロシージャを実現したいです。
56
+
57
+
56
58
 
57
59
 
58
60
 

2

2019/08/12 12:21

投稿

mightyMask
mightyMask

スコア143

test CHANGED
@@ -1 +1 @@
1
- 同期的かつ非ビジーなsleep
1
+ 逐次的かつ非同期なsleep
test CHANGED
@@ -1,16 +1,70 @@
1
1
  #質問
2
2
 
3
- JavaScriptで、同期的・非ビジーなsleep(またはwait)っぽいプロシージャは実現できないでしょうか。
3
+ JavaScriptで、逐次的・非同期なsleep(またはwait)っぽいプロシージャは実現できないでしょうか。
4
+
5
+
6
+
7
+ #期待する動作
8
+
9
+ ``` JavaScript
10
+
11
+ function func() {
12
+
13
+ console.log("2");
14
+
15
+ sleep(3000);
16
+
17
+ console.log("3");
18
+
19
+ };
20
+
21
+
22
+
23
+ console.log("1");
24
+
25
+ func();
26
+
27
+ console.log("4");
28
+
29
+ ```
30
+
31
+ のように記述すると、
32
+
33
+
34
+
35
+ (起動直後...)
36
+
37
+ ```
38
+
39
+ 1
40
+
41
+ 2
42
+
43
+ ```
44
+
45
+ (3秒後...)
46
+
47
+ ```
48
+
49
+ 3
50
+
51
+ 4
52
+
53
+ ```
54
+
55
+ のように出力されるように動作するsleepを実現したいです。
56
+
57
+
4
58
 
5
59
 
6
60
 
7
61
  #問題点
8
62
 
9
- 同期的なsleepを愚直に実装すると、スクリプトから処理が戻らずビジー状態が継続され、画面が固まってしまうようです。
63
+ 逐次的なsleepを愚直に実装すると、スクリプトから処理が戻らずビジー状態が継続され、画面が固まってしまうようです。
10
64
 
11
65
 
12
66
 
13
- ビジーなsleepを愚直に実装すると、setTimeoutの後の処理が先に行われてしまい、非同期なものになってしいます。
67
+ 同期なsleepを愚直に実装すると、setTimeoutの後の処理が先に行われてしまいます。
14
68
 
15
69
 
16
70
 

1

誤字修正

2019/08/12 12:17

投稿

mightyMask
mightyMask

スコア143

test CHANGED
@@ -1 +1 @@
1
- 同期的か非ビジーなsleep
1
+ 同期的か非ビジーなsleep
test CHANGED
File without changes