/
841.txt
395 lines (308 loc) ยท 22.9 KB
/
841.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
[45] [DFN[[CODE(DOMm)@en[[[setTimeout()]]]]]] ใจ [DFN[[CODE(DOMm)@en[[[setInterval()]]]]]]
ใฏใไธๅฎๆ้ๅพใใใใใฏไธๅฎๆ้ใใจใซๆๅฎใใๅฆ็ใๅฎ่กใใใใฎใงใใ
* ไปๆงๆธ
[REFS[
- [33] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-07-27 01:56:00 +09:00]] ็) <http://www.whatwg.org/specs/web-apps/current-work/#timers>'''
- [47] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] ็) <http://www.whatwg.org/specs/web-apps/current-work/#apis-available-to-workers>
]REFS]
* ๅฎ็พฉ
[46] [DFN[[CODE(DOMi)@en[WindowOrWorkerGlobalScope]]]] [[ใคใณใฟใผใใงใคใน]]ใฏใ[[ใกใฝใใ]]
[DFN[[CODE(DOMm)@en[[[setTimeout]]]]]], [DFN[[CODE(DOMm)@en[[[setInterval]]]]]],
[DFN[[CODE(DOMm)@en[[[clearTimeout]]]]]], [DFN[[CODE(DOMm)@en[[[clearInterval]]]]]]
ใๆใกใพใ [SRC[>>33]]ใ [CODE(DOMi)@en[WindowOrWorkerGlobalScope]] ใฏ
[CODE(DOMi)@en[Window]] [SRC[>>33]] ใจ [CODE(DOMi)@en[WorkerGlobalScope]] [SRC[>>47]]
ใ[[ๅฎ่ฃ
]]ใใฆใใพใใ
* ใฟใคใใผ่จญๅฎใกใฝใใ
[48] [CODE(DOMm)@en[[[setTimeout]]]] ใจ [CODE(DOMm)@en[[[setInterval]]]] ใฏใ
ใใใใ[[ใฟใคใใผๅๆๅๆ้ ]]ใๅฎ่กใใใใฎใงใ [SRC[>>33]]ใ
[FIG(list members)[
: [49] ็ฌฌ1ๅผๆฐ :
ไธๅฎๆ้ๅพใซๅฎ่กใใใในใใณใผใใๆๅฎใใพใใ[[ใใผใฟๅ]]ใฏ
[DFN[[CODE(DOMi)@en[TimerHandler]]]]ใใใชใใก
[CODE(DOMi)@en[Function]] ใพใใฏ [CODE(DOMi)@en[DOMString]] ใงใ [SRC[>>33]]ใ
ใใฎ[[ๅผๆฐ]]ใฏๅฟ
่ฆใงใ [SRC[>>33]]ใ
: [50] ็ฌฌ2ๅผๆฐ :
ใณใผใใๅฎ่กใใใใพใงใฎๆ้ใงใใ[[ใใผใฟๅ]]ใฏ [CODE(IDL)@en[[[long]]]]
ใงใ็็ฅใใๅ ดๅใฎ[[ๆขๅฎๅค]]ใฏ [CODE[[[0]]]] ใงใ [SRC[>>33]]ใ
: [51] ็ฌฌ3ๅผๆฐไปฅ้ :
ไปปๆใฎๅคใๆๅฎใงใ [SRC[>>33]]ใใณใผใใธใฎ[[ๅผๆฐ]]ใจใใฆไฝฟใใใพใใ
]FIG]
[52] [[ใกใฝใใ]]ใฎ่ฟใๅคใฏใ [CODE(IDL)@en[[[long]]]] ใงใ [SRC[>>33]]ใ
* ๅพ
ใกๆ้
[87] ไธใใใใใณใผใใฏใ >>66ใ>>72ใ>>32 ใๅพ
ใฃใๅพใๅฎ่กใใใพใใ
[66] ๅบๆฌใจใชใๅพ
ใกๆ้ใฏใ็ฌฌ2ๅผๆฐใงๆๅฎใใใๅคใงใใใใ ใใใฎๅคใ4ใใๅฐใใใ
[[ใฟใคใใผๅ
ฅใๅญๆฐดๆบ]] (ใชใใใฐ0) ใ5ใใๅคงใใใชใใ4ใจใใพใใ [SRC[>>33]]
[75] [DFN[[RUBYB[[[ใฟใคใใผๅ
ฅใๅญๆฐดๆบ]]]@en[timer nesting level]]]] [SRC[>>33]] ใฏใ
ๅ
ฅใๅญๅๆฐใฎ็ฎก็ใฎใใใฎๅคใงใใ[[ใฟใคใใผๅๆๅๆ้ ]]ใซใใ่ฟฝๅ ใใใ[[ใฟในใฏ]]ใซๅญๅจใใพใใ
่ฟฝๅ ใใใ[[ใฟในใฏ]]ใฎ[[ใฟใคใใผๅ
ฅใๅญๆฐดๆบ]]ใฏใๅ
ใฎ[[ใฟในใฏ]]ใฎ[[ใฟใคใใผๅ
ฅใๅญๆฐดๆบ]]ใใใ1ๅคงใใชๅคใงใ [SRCD[>>33]]ใ
;; [31] ๅ
ใ
ใฏๆๅฐใงใ 10ms ใจใใใฆใใพใใใใๅพใซๅฎ่ฃ
ใซใใฃใฆใฏๆๅฐ 4ms ใจใชใใ >>27
ใงไปๆงใใใใซๆใใพใใใๆดใซๅ
ฅใๅญๅๆฐ (ใฟใคใใผใซใใๅฆ็ใซใใฃใฆๆดใซใฟใคใใผๅฆ็ใไบๅฎใใๅๆฐ)
ใ4ๅใพใงใฏ 4ms ใฎๅถ้ใใใๆคๅปใใใใใใซใชใใไปๆงใ >>24 ใง่ฟฝ้ใใฆใใพใใ
[70] [CODE(DOMi)@en[[[Window]]]] ใงใฏใ
้ข้ฃไปใใใใฆใใ[[ๆๆธ]]ใ[[ๅฎๅ
จใซๆดปๆง]]ใช็ถๆ
ใฎ[[ใใช็ง]]ๆฐใจใใฆ่งฃ้ใใใพใ [SRC[>>33]]ใ
[71] [CODE(DOMi)@en[[[WorkerGlobalScope]]]] ใงใฏใ[[ใฏใผใซใผ]]ใ [[suspend]]
ใใใฆใใชใ็ถๆ
ใฎ[[ใใช็ง]]ๆฐใจใใฆ่งฃ้ใใใพใ [SRC[>>33]]ใ
;; [86] ใใใใใ้ฃ็ถ็ใช็งๆฐใงใฏใชใใๅ่จใฎ็งๆฐใงใใ
[72] ๅใ[[ๆ่ใชใใธใงใฏใ]]ใซใคใใฆ[[ใฟใคใใผๅๆๅๆ้ ]]ใไฝๅบฆใๅผใฐใใฆใใๅ ดๅใ
ๅผใณๅบใใฎใฟใคใใณใฐใใใๆฉใใๅพ
ใกๆ้ (>>66) ใ็ญใใใๅฐใใใใฎใๅฎ่กๅฎไบ ([[ใฟในใฏ]]ใ่ฟฝๅ ๅฎไบ)
ใใใใพใงใๅพ
ใคใใจใซใชใฃใฆใใพใ [SRC[>>33]]ใ
[32] [[ๅฉ็จ่
ใจใผใธใงใณใ]]ใฏๆดใซๅ ใใฆไปปๆใฎๆ้ๅพ
ใฃใฆใๆงใใพใใ [SRC[>>33]]ใ
[[้ปๅ]]็ญๅฉ็จใงใใ่ณๆบใฎๅถ็ดใๆง่ฝไธใฎ้็ใใฎไปใฎ่ฆๅ ใซใใๅฆ็ใ้
ใใใใใจใใงใใพใใ
* ๆดปๆงใฟใคใใผใฎใชในใ
[55] [CODE(DOMi)@en[WindowOrWorkerGlobalScope]] [[ใชใใธใงใฏใ]] ([CODE(DOMi)@en[[[Window]]]] ใ
[CODE(DOMi)@en[[[WorkerGlobalScope]]]]) ใฏ[DFN[[RUBYB[[[ๆดปๆงใฟใคใใผใฎใชในใ]]]@en[list of active timers]]]]ใๆใกใพใ
[SRC[>>33]]ใ[[ๆดปๆงใฟใคใใผใฎใชในใ]]ใซใฏใ [CODE(DOMm)@en[[[setTimeout]]]] ใ
[CODE(DOMm)@en[[[setInterval]]]] ใงๆๅฎใใใ[[ใฟใคใใผ]]ใๅซใพใใพใใ
[60] [[ๆดปๆงใฟใคใใผใฎใชในใ]]ๅ
ใฎๅ้
็ฎใฏใ[[้่ฒ ๆดๆฐ]]ใซใใ่ญๅฅใใใพใ [SRC[>>33]]ใ
ใใฎ[[้่ฒ ๆดๆฐ]]ใฏ[[ใใณใใซ]]ใจๅผใฐใใฆใใพใใ
[88] [[ใใณใใซ]]ใฏใ [CODE(DOMi)@en[WindowOrWorkerGlobalScope]]
[[ใชใใธใงใฏใ]]ใฎ็ๅญๆ้ๅ
ใซใใใฆๅบๆใงใชใใใฐ[['''ใชใใพใใ''']] [SRC[>>33]]ใ
;; [56] ใจใใใใจใฏ [CODE(IDL)@en[[[long]]]] ใง่กจใใ[[ๆฐ]]ใฎๅๆฐไปฅไธใฏใฟใคใใผใไฝฟใใชใใใจใซใชใใพใใ
[89] [[ใใณใใซ]]ใฏ[[ใฟใคใใผๅๆๅๆ้ ]]ใฎๅฎ่กๆ ([CODE(DOMm)@en[[[setInterval]]]] ใฎๅ ดๅใฏใๅๅใฎใฟ)
ใซ[[ๅฉ็จ่
ใจใผใธใงใณใ]]ๅฎ็พฉใฎๆนๆณใงๆฑบๅฎใใใพใ [SRC[>>33]]ใ
[[ใฟใคใใผๅๆๅๆ้ ]]ใฏใใฎ[[ใใณใใซ]]ใไฝฟใฃใฆ[[ๆดปๆงใฟใคใใผใฎใชในใ]]ใซๆฐใใ้
็ฎใ่ฟฝๅ ใใ
ใใฎ[[ใใณใใซ]]ใ่ฟใใพใ [SRC[>>33]]ใ
[4] ใใฎใชในใใฏใ[[unloading document cleanup steps]] ใซใใฃใฆ็ฉบใซใใใใใจใใใใพใใ
* ใฟใคใใผใฎๅฎ่ก
[74] [CODE(DOMi)@en[WindowOrWorkerGlobalScope]] [[ใคใณใฟใผใใงใคใน]]ใฎ
[CODE(DOMm)@en[setTimeout]] [[ใกใฝใใ]]ใจ
[CODE(DOMm)@en[setInterval]] [[ใกใฝใใ]]ใฏใๆฌกใฎใใใซใใชใใใฐ[MUST[ใชใใพใใ]]
[SRC[>>33]]ใ
[FIG(steps)[
= [76] [VAR[ๅใๆฑใๅจ]]ใใ็ฌฌ1ๅผๆฐใๅฟ
้ ใฎ [CODE(DOMi)@en[TimerHandler]] ใจใใฆ่งฃ้ใใ็ตๆใซ่จญๅฎใใพใใ
= [79] [VAR[ใฟใคใ ใขใฆใ]]ใใ็ฌฌ2ๅผๆฐใ [CODE[long]] ใจใใฆ่งฃ้ใใ็ตๆใซ่จญๅฎใใพใใ
ๆขๅฎๅคใฏ [N[0]] ใจใใพใใ
= [81] [VAR[ๅผๆฐ็พค]]ใใ็ฌฌ3ๅผๆฐไปฅๅพใในใฆใฎ[[ๅผๆฐ]]ใซ่จญๅฎใใพใใ
= [95] [VAR[็นฐใ่ฟใ]]ใใ[CODE(DOMm)@en[setInterval]] [[ใกใฝใใ]]ใชใ[[็]]ใ
[CODE(DOMm)@en[setTimeout]] [[ใกใฝใใ]]ใชใ[[ๅฝ]]ใซ่จญๅฎใใพใใ
= [94] [[ๆ่ใชใใธใงใฏใ]]ใ[VAR[ๅใๆฑใๅจ]]ใ[VAR[ใฟใคใ ใขใฆใ]]ใ[VAR[ๅผๆฐ็พค]]ใ
[VAR[็นฐใ่ฟใ]]ใซใคใใฆใ
[[ใฟใคใใผๅๆๅๆ้ ]]ใๅฎ่กใใ็ตๆใ่ฟใใพใใ
[VAR[ไปฅๅใฎใใณใใซ]]ใฏใ[[null]] ใจใใพใใ
]FIG]
[59] [DFN[[RUBYB[ใฟใคใใผๅๆๅๆ้ ]@en[timer initialization steps]]]]ใฏใ
[VAR[ๆ่]]ใ[VAR[ๅใๆฑใๅจ]]ใ[VAR[ใฟใคใ ใขใฆใ]]ใ[VAR[ๅผๆฐ็พค]]ใ
[VAR[็นฐใ่ฟใ]]ใ[VAR[ไปฅๅใฎใใณใใซ]]ใซใคใใฆใๆฌกใฎใใใซใใพใ [SRC[>>33]]ใ
[FIG(steps)[
= [73] [VAR[ๆ่]]ใ [CODE(DOMi)@en[Window]] ใชใใ
== [98] [VAR[ๆ่]]ใใ[VAR[ๆ่]]ใฎ[F[[CODE(DOMi)@en[WindowProxy]]]] ใซ่จญๅฎใใพใใ
= [69] [VAR[ไปฅๅใฎใใณใใซ]]ใ [[null]] ใชใใ
== [82] [VAR[ใใณใใซ]]ใใ[VAR[ๆ่]]ใฎ[F[ๆดปๆงใฟใคใใผใฎใชในใ]]ใฎใฉใฎ้
็ฎใฎ[F[ใใณใใซ]]ใจใ็ฐใชใ[[ๅฉ็จ่
ใจใผใธใงใณใ]]ๅฎ็พฉใฎ[[ๆญฃๆดๆฐ]]ใซ่จญๅฎใใพใใ
== [90] [VAR[ๆ่]]ใฎ[F[ๆดปๆงใฟใคใใผใฎใชในใ]]ใซใ[F[ใใณใใซ]]ใ[VAR[ใใณใใซ]]ใฎ้
็ฎใ่ฟฝๅ ใใพใใ
= [83] ใใไปฅๅคใชใใ
== [84] [VAR[ใใณใใซ]]ใใ[VAR[ไปฅๅใฎใใณใใซ]]ใซ่จญๅฎใใพใใ
= [96] [VAR[ๅผใณๅบใๅ
realm]]ใใ[[็พๅจRealm่จ้ฒ]]ใซ่จญๅฎใใพใใ
= [97] [VAR[ๅผใณๅบใๅ
realm]]ใใ[VAR[ๆ่]]ใฎ[F[Realm]]ใซ่จญๅฎใใพใใ
= [104] [[็พๅจ่ตฐใฃใฆใใใฟในใฏ]]ใใฟใคใใผ[[ใฟในใฏ]]ใชใใ
== [105] [VAR[ๅ
ฅใๅญๆฐดๆบ]]ใใ[[็พๅจ่ตฐใฃใฆใใใฟในใฏ]]ใฎ[F[ใฟใคใใผๅ
ฅใๅญๆฐดๆบ]]ใซ่จญๅฎใใพใใ
= [106] ใใไปฅๅคใชใใ
== [107] [VAR[ๅ
ฅใๅญๆฐดๆบ]]ใใ [N[0]] ใซ่จญๅฎใใพใใ
= [108] [VAR[ๅ
ฅใๅญๆฐดๆบ]]ใ [N[5]] ใใๅคงใใใ[VAR[ใฟใคใ ใขใฆใ]]ใ [N[4]] ใใๅฐใใใชใใ
== [109] [VAR[ใฟใคใ ใขใฆใ]]ใใ [N[4]] ใซ่จญๅฎใใพใใ
= [110] [VAR[ๅ
ฅใๅญๆฐดๆบ]]ใใ[VAR[ๅ
ฅใๅญๆฐดๆบ]] + 1 ใซ่จญๅฎใใพใใ
= [99] [VAR[ใฟในใฏ]]ใใ[VAR[ใใณใใซ]]ใ[VAR[ๆ่]]ใ[VAR[ๅใๆฑใๅจ]]ใ[VAR[ใฟใคใ ใขใฆใ]]ใ
[VAR[ๅผๆฐ็พค]]ใ[VAR[็นฐใ่ฟใ]]ใใฉใฐใ[VAR[ๅผใณๅบใๅ
realm]]ใ[VAR[ๅผใณๅบใๅ
realm]]ใ
[VAR[ๅ
ฅใๅญๆฐดๆบ]]ใซ้ขใใใฟใคใใผใฟในใฏ (>>77) ใซ่จญๅฎใใพใใ
= [112] [VAR[ๆ่]]ใซใใใฆ[VAR[ใฟใคใ ใขใฆใ]]ๅพใฎ[VAR[ใฟในใฏ]]ใฎๅฎ่กใไบ็ดใใพใ (>>113)ใ
= [111] [VAR[ใใณใใซ]]ใ่ฟใใพใใ
]FIG]
[77] [VAR[ใใณใใซ]]ใ[VAR[ๆ่]]ใ[VAR[ๅใๆฑใๅจ]]ใ
[VAR[ๅผๆฐ็พค]]ใ[VAR[็นฐใ่ฟใ]]ใใฉใฐใ
[VAR[ๅผใณๅบใๅ
realm]]ใ[VAR[ๅผใณๅบใๅ
realm]]ใ
[VAR[ๅ
ฅใๅญๆฐดๆบ]]ใซ้ขใใใฟใคใใผ[[ใฟในใฏ]]ใฏใๆฌกใฎใใใชใใฎใงใ [SRC[>>33]]ใ
[FIG(list members)[
: [F[ๅฆ็]] :
[FIG(steps)[
= [63] [VAR[ๆ่]]ใฎ[F[ๆดปๆงใฟใคใใผใฎใชในใ]]ใฎใ
[F[ใใณใใซ]]ใ[VAR[ใใณใใซ]]ใฎ้
็ฎใฎ[F[ๆถๅปๆธใฟ]]ใใฉใฐใ่จญๅฎใใใฆใใใฐใ
== [100] ใใใงๅๆญขใใพใใ
= [62] [VAR[ๅใๆฑใๅจ]]ใซใใใ
[FIG(switch)[
: [78] [CODE(IDL)@en[Function]] :
[[ใณใผใซใใใฏ้ขๆฐใฎๅผใณๅบใ]]ใๅฎ่กใใพใใ
[FIG(list members)[
: [[ใณใผใซใใใฏ้ขๆฐ]] : [VAR[ๅใๆฑใๅจ]]
: [[ใณใผใซใใใฏ[CODE(JS)[this]]ๅค]] : [VAR[ๆ่]]
]FIG]
: [80] [CODE(DOMi)@en[DOMString]] :
[FIG(steps)[
= [101] [CODE[HostEnsureCanCompileStrings]]([VAR[ๅผใณๅบใๅ
realm]]ใ[VAR[ๅผใณๅบใๅ
realm]])
ใๅฎ่กใใพใใ[[ไพๅค]]ใ[[ๆใ]]ใใใใใ[[ไพๅคใๅ ฑๅ]]ใใพใใ [INS[@@ >>65 ใซ้ฒใ?]]
= [102] [VAR[ในใฏใชใใ]]ใใ[VAR[ๅใๆฑใๅจ]]ใจ[VAR[ๆ่]]ใฎ[F[็ฐๅข่จญๅฎ็พคใชใใธใงใฏใ]]ใซใคใใฆ[[ๅคๅ
ธในใฏใชใใใฎไฝๆ]]ใๅฎ่กใใ็ตๆใซ่จญๅฎใใพใใ
= [103] [VAR[ในใฏใชใใ]]ใซใคใใฆ[[ๅคๅ
ธในใฏใชใใใฎๅฎ่ก]]ใใใพใใ
]FIG]
]FIG]
= [65] [VAR[็นฐใ่ฟใ]]ใใฉใฐใ[[็]]ใชใใ
[[ใฟใคใใผๅๆๅๆ้ ]]ใๅฎ่กใใพใใ
[VAR[ๆ่]]ใ[VAR[ๅใๆฑใๅจ]]ใ[VAR[ใฟใคใ ใขใฆใ]]ใ[VAR[ๅผๆฐ็พค]]ใๅผใๆธกใใพใใ
[VAR[็นฐใ่ฟใ]]ใใฉใฐใฏ[[็]]ใ[VAR[ไปฅๅใฎใใณใใซ]]ใฏ[VAR[ใใณใใซ]]ใจใใพใใ
]FIG]
: [F[ใฟในใฏๆบ]] :
[DFN[[RUBYB[[[ใฟใคใใผใฟในใฏๆบ]]]@en[timer task source]]]]
: [F[ใฟใคใใผๅ
ฅใๅญๆฐดๆบ]] : [VAR[ๅ
ฅใๅญๆฐดๆบ]]
]FIG]
;; [85] [CODE(DOMm)@en[[[setInterval]]]] ใซ[[ๆๅญๅ]]ใ[VAR[ๅใๆฑใๅจ]]ใจใใฆๆๅฎใใๅ ดๅใ
ๆฏๅ[[ในใฏใชใใ]]ใฎใณใณใใคใซใใ่กใใใใใจใซใชใใพใใ
[113] [VAR[ๆ่]]ใซใใใฆ[VAR[ใฟใคใ ใขใฆใ]]ๅพใซ[VAR[ใฟในใฏ]]ใๅฎ่กใใใจใฏใ
[VAR[ๆ่]]ใฎ[F[ๅฎ่กๅพ
ใกใฟใคใใผ็พค]]ใฎๆซๅฐพใซๆฐใใ็ต ([VAR[ใฟในใฏ]], [VAR[ใฟใคใ ใขใฆใ]])
ใ่ฟฝๅ ใใฆใ[VAR[่ตท็น]]ใ็พๅจๆๅปใจใใฆใ
[[ไธฆๅใซ]]ใๆฌกใฎใในใฆใฎๆกไปถใๆบใใใใใพใงๅพ
ใกใพใ [SRC[>>33]]ใ
[FIG(list)[
- [114] [VAR[ๆ่]]ใ [CODE(DOMi)@en[Window]] ใชใใ
-- [115] [VAR[่ตท็น]]ไปฅๅพใฎ[VAR[ๆ่]]ใฎ[F[ๆๆธ]]ใ[F[ๅฎๅ
จใซๆดปๆง]]ใงใใ[[ๆ้]]ใฎๅ่จใ[VAR[ใฟใคใ ใขใฆใ]][[ใใช็ง]]ใจใชใ
- [116] [VAR[ๆ่]]ใ [CODE(DOMi)@en[WorkerGlobalScope]] ใชใใ
-- [117] [VAR[่ตท็น]]ไปฅๅพใฎ[VAR[ๆ่]]ใ [F[suspend]] ใใใฆใใชใ[[ๆ้]]ใฎๅ่จใ[VAR[ใฟใคใ ใขใฆใ]][[ใใช็ง]]ใจใชใ
- [118] [VAR[ๆ่]]ใฎ[F[ๅฎ่กๅพ
ใกใฟใคใใผ็พค]]ใงๆฌ็ตใใใๅใซใใฃใฆ[F[ใฟใคใ ใขใฆใ]]ใ[VAR[ใฟใคใ ใขใฆใ]][[ไปฅไธ]]ใฎใใฎใใชใใชใ
- [119] [[ๅฉ็จ่
ใจใผใธใงใณใ]]ๅฎ็พฉใฎๆกไปถใๆบใใใใ
]FIG]
[120] ๆกไปถใๆบใใใใใใ็ต ([VAR[ใฟในใฏ]], [VAR[ใฟใคใ ใขใฆใ]]) ใ[VAR[ๆ่]]ใฎ[F[ๅฎ่กๅพ
ใกใฟใคใใผ็พค]]ใใๅ้คใใ
[VAR[ใฟในใฏ]]ใ[[ใฟในใฏใญใฅใผใซ่ฟฝๅ ]]ใใพใ [SRC[>>33]]ใ
* ใฟใคใใผๆถๅปใกใฝใใ
[53] [CODE(DOMm)@en[[[clearTimeout]]]] ใจ [CODE(DOMm)@en[[[clearInterval]]]]
ใฏใใใใใใ[[ๆดปๆงใฟใคใใผใฎใชในใ]]ใใ[[ๅผๆฐ]]ใงๆๅฎใใใ[[ๆฐ]]ใซใใ่ญๅฅใใใ้
็ฎใใใใฐใ
ใใใๆถๅปใใพใใ่ฉฒๅฝใใใใฎใใชใใใฐใไฝใใใพใใใ [SRC[>>33]]
[FIG(list members)[
: [57] ็ฌฌ1ๅผๆฐ :
[[long]] ใฎ[[ๅผๆฐ]]ใ1ใคๆๅฎใงใใพใ [SRC[>>33]]ใ็็ฅใใๅ ดๅใฎ[[ๆขๅฎๅค]]ใฏ
[N[0]] ใงใ [SRC[>>33]]ใ
]FIG]
[54] [[ใกใฝใใ]]ใฎ่ฟใๅคใฏใใใพใใ [SRC[>>33]]ใ
[91] [CODE(DOMi)@en[WindowOrWorkerGlobal]] [[ใคใณใฟใผใใงใคใน]]ใฎ
[CODE(DOMm)@en[clearTimeout]] [[ใกใฝใใ]]ใจ
[CODE(DOMm)@en[clearInterval]] [[ใกใฝใใ]]ใฏใๆฌกใฎใใใซใใชใใใฐ[MUST[ใใพใใ]]
[SRC[>>33]]ใ
[FIG(steps)[
= [92] [VAR[ใใณใใซ]]ใใ็ฌฌ1ๅผๆฐใ [CODE[long]] ใจใใฆ่งฃ้ใใ็ตๆใซ่จญๅฎใใพใใ
ๆขๅฎๅคใฏ [N[0]] ใจใใพใใ
= [93] [[ๆ่ใชใใธใงใฏใ]]ใฎ[F[ๆดปๆงใฟใคใใผใฎใชในใ]]ใซใ
[F[ใใณใใซ]]ใ[VAR[ใใณใใซ]]ใฎ้
็ฎใใใใฐใ
ใใฎ[F[ๆถๅปๆธใฟ]]ใใฉใฐใ่จญๅฎใใพใใ
]FIG]
;; [58] ใฉใกใใฎใกใฝใใใใๅใใใใซๅไฝใใพใใ [VAR@en[repeat]] ใใฉใฐใฏ็ก่ฆใใใพใใ
* ๆญดๅฒ
[2]
[CITE[IRC logs: freenode / #whatwg / 20070409]] ([CODE[2007-04-12 00:04:42 +09:00]] ็) <http://krijnhoetmer.nl/irc-logs/whatwg/20070409#l-233>
([[ๅ็กใใใ]] [WEAK[2007-04-11 15:37:28 +00:00]])
[6]
[CITE@en[Re: Proposal: High resolution (and otherwise improved) timer API]] ([[Maciej Stachowiak]] ่, [CODE[2008-10-04 06:21:35 +09:00]] ็) <http://lists.w3.org/Archives/Public/public-webapps/2008OctDec/0031.html>
>I cannot state with certainty that nothing lower than
10ms is safe. Chrome shipped with a 1ms delay and that was found to
create problems on a number of sites, including nytimes. They are
planning to try 4ms next. We would consider using a lower limit in the
official webkit.org version of WebKit, not not as low as 1ms.
[9] [CITE[IRC logs: freenode / #whatwg / 20090504]]
([TIME[2009-08-05 07:43:45 +09:00]] ็)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090504#l-24>
[10] [CITE['''['''webkit-dev''']''' setTimeout as browser speed throttle]]
([TIME[2008-10-01 15:56:01 +09:00]] ็)
<http://lists.macosforge.org/pipermail/webkit-dev/2008-September/005093.html>
[12] [CITE@en[Web Applications 1.0 r5535 Allow timers to be delayed when power usage is an issue.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10633]]
( ([TIME[2010-09-29 07:08:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=5534&to=5535>
[13] [CITE[Bug 10633 โ Minimums for timer granularity should be left to the user agent - different form factors have different power requirements]]
( ([TIME[2010-09-29 07:19:30 +09:00]] ็))
<http://www.w3.org/Bugs/Public/show_bug.cgi?id=10633>
[14] [CITE[''''''[''''''whatwg'''''']'''''' Timeouts and monotonic vs clock time]]
( ([TIME[2011-01-09 13:44:38 +09:00]] ็))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-January/029734.html>
[15] [CITE['''['''whatwg''']''' setTimeout clamps]]
([TIME[2011-01-16 12:00:52 +09:00]] ็)
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-January/029886.html>
[16] [CITE@en[Web Applications 1.0 r5879 Define 'this' for setTimeout functions]]
( ([TIME[2011-02-12 08:50:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=5878&to=5879>
[17] [CITE@en[Web Applications 1.0 r6492 Explain ordering of setTimeout() calls better]]
( ([TIME[2011-08-18 06:36:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=6491&to=6492>
[18] [CITE@en[Web Applications 1.0 r6899 Make setTimeout() not be well-ordered across multiple browsing contexts, so as to allow user agents to e.g. throttle setTimeout()s in background tabs.]]
( ([TIME[2012-01-18 07:13:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=6898&to=6899>
[19] [CITE@en[Web Applications 1.0 r6949 Turns out clearTimeout() and clearInterval() are synonyms! Who knew? Oh what a tangled Web we weave.Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=14907]]
( ([TIME[2012-02-01 05:20:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=6948&to=6949>
[20] [CITE[IRC logs: freenode / #whatwg / 20120626]]
( ([TIME[2012-07-12 23:44:39 +09:00]] ็))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120626#l-1008>
[21] [CITE@en-US[Window Object 1.0]]
( ([TIME[2006-04-08 02:19:28 +09:00]] ็))
<http://www.w3.org/TR/Window/#timers>
[22] [CITE@en[Bug 15007 โ Add an API to queue a task]]
( ([TIME[2013-02-09 22:45:48 +09:00]] ็))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=15007>
[23] [CITE@en[Web Applications 1.0 r7737 Try to more closely match reality.]]
( ([TIME[2013-03-07 08:03:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=7736&to=7737>
[24] [CITE@en[Web Applications 1.0 r8095 Refactor the timer code to match current practice in WebKit, Gecko, and Blink (the ones whose source I could examine)]]
( ([TIME[2013-07-27 08:27:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=8094&to=8095>
[25] [CITE[Bug 376643 – setInterval fires repeatedly with incorrectly small delays if machine is suspend/resumed, hibernate/resumed or process is SIGSTOP/SIGCONT]] ([CODE[2007-06-23 10:13:26 +09:00]] ็) <https://bugzilla.mozilla.org/show_bug.cgi?id=376643>
[26] [CITE[HTML5 IRC logs: freenode / #whatwg / 20070622]] ([TIME[2007-06-23 10:17:05 +09:00]] ็) <http://krijnhoetmer.nl/irc-logs/whatwg/20070622#l-608>
([[ๅ็กใใใ]] [WEAK[2007-06-23 01:21:49 +00:00]])
[27] [CITE@en[Web Applications 1.0 r6362 Make setInterval() clamp at 4ms as well.]]
( ([TIME[2011-08-04 08:54:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=6361&to=6362>
[34] [CITE@en[Efficient Script Yielding]] ([TIME[2013-07-23 11:06:32 +09:00]] ็) <http://w3c-test.org/webperf/specs/setImmediate/>
* ใกใข
[1]
[CITE[Scope of setTimeout Method]] <http://www2u.biglobe.ne.jp/~oz-07ams/prog/js-notes/setTimeout.html>
[7] [CITE[for ๆใ setTimeout ใซๅคๆใใ - ITๆฆ่จ]] ([TIME[2009-02-02 01:57:56 +09:00]] ็) <http://d.hatena.ne.jp/amachang/20071108/1194501306>
[8]
[CITE[JSDeferred ใ้ซ้ๅใใ (่ฉฆใไธญ) - ๅฌ้ใใซๆถใ่กใๅถๆใฌใผใซใฏใๅคข็ฉ่ชใซใชใขใซใๆฑใใชใใ - subtech]] ([TIME[2009-03-31 08:34:10 +09:00]] ็) <http://subtech.g.hatena.ne.jp/cho45/20090125/1232831437>
[28] [CITE[zarame.com/zide/ ๆฅ่จ(2005-11-24)]] <http://zarame.com/zide/diary/20051124.html#p01>
([[ๅ็กใใใ]] [WEAK[2005-12-07 11:45:55 +00:00]])
[29] [CITE[ใทใใใใใจใใฟใใใใ]] <http://www.fastwave.gr.jp/diarysrv/misuzilla/200511c.html#20051126-4>
([[ๅ็กใใใ]] [WEAK[2005-12-07 11:46:42 +00:00]])
[30] [CITE[zarame.com/zide/ ๆฅ่จ(2005-11-28)]] <http://zarame.com/zide/diary/20051128.html#p01>
([[ๅ็กใใใ]] [WEAK[2005-12-07 11:46:56 +00:00]])
[35] [CITE[setIntervalใจsetTimeoutใ่ชฟในใ็ตๆไฝๅใชใใจใซใชใฃใ - ไธ็ญๅ
ต]]
( ([TIME[2013-07-24 01:30:24 +09:00]] ็))
<http://d.hatena.ne.jp/sandai/20100513/p1>
[36] [CITE@en-US[window.setTimeout - Web API reference | MDN]]
( ([TIME[2013-07-10 02:55:41 +09:00]] ็))
<https://developer.mozilla.org/en/docs/Web/API/window.setTimeout>
[37] [CITE[Issue 792 - chromium - TRACKING: Chrome does not implement the Webkit 10ms setTimeout clamp. - An open-source project to help move the web forward. - Google Project Hosting]]
( ([TIME[2013-07-27 05:59:41 +09:00]] ็))
<https://code.google.com/p/chromium/issues/detail?id=792>
[38] [CITE@en-US[David Baron's weblog: setTimeout with a shorter delay]]
( ([TIME[2013-07-27 05:59:54 +09:00]] ็))
<http://dbaron.org/log/20100309-faster-timeouts>
[39] [CITE@en[123273 โ setTimeout(something, 0) causes 100% CPU constant]]
( ([TIME[2013-07-27 06:07:25 +09:00]] ็))
<https://bugzilla.mozilla.org/show_bug.cgi?id=123273>
[40] [CITE@en[686201 โ implementation: setImmediate API]]
( ([TIME[2013-07-27 06:16:49 +09:00]] ็))
<https://bugzilla.mozilla.org/show_bug.cgi?id=686201>
[41] [CITE@en[839816 โ Make next-tick mechanisms like postMessage faster]]
( ([TIME[2013-07-27 06:36:50 +09:00]] ็))
<https://bugzilla.mozilla.org/show_bug.cgi?id=839816>
[42] [CITE[''''''[''''''whatwg'''''']'''''' Proposal: requestBackgroundProcessing()]]
( ([TIME[2014-02-20 21:38:44 +09:00]] ็))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2014-February/042075.html>
[43] [CITE@en[Web Applications 1.0 r8535 Move a setTimeout() requirement from prose to IDL.]]
( ([TIME[2014-03-08 07:55:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=8534&to=8535>
[44] [CITE@en[Web Applications 1.0 r8508 Make clearTimeout()/clearInterval() (with no arguments) into no-ops; change the <table> role mapping so that tables aren't interactive.]]
( ([TIME[2014-02-25 03:44:00 +09:00]] ็))
<http://html5.org/tools/web-apps-tracker?from=8507&to=8508>
[3] [CITE@en[Web Applications 1.0 r8880 Fix callback logic to reference Web IDL and use the right conventions.]]
([TIME[2015-01-16 05:52:00 +09:00]] ็)
<https://html5.org/r/8880>
[5] [CITE@en[Fixes #179: Add note about clearing timers ยท whatwg/html@4b3e06e]]
([TIME[2015-10-24 13:18:35 +09:00]] ็)
<https://github.com/whatwg/html/commit/4b3e06eaa750f129f25999c742dfc782daa085c9>
[11] [CITE@en[Update ECMAScript and IDL integration ยท whatwg/html@550c57f]]
([TIME[2015-12-03 15:16:48 +09:00]] ็)
<https://github.com/whatwg/html/commit/550c57f186dd73784a8e4660440db2f642e37c0e>
[61] [CITE@en[Rewrite script execution on top of ES ยท whatwg/html@4891d18]]
([TIME[2015-12-23 01:06:44 +09:00]] ็)
<https://github.com/whatwg/html/commit/4891d18aaf2df1d40aa61f467a5a10cfc19dd85d>
[64] [CITE@en[Add <script type="module"> and module resolution/fetching/evaluation ยท whatwg/html@cd1a9fb]] ([TIME[2016-01-29 22:55:07 +09:00]] ็) <https://github.com/whatwg/html/commit/cd1a9fb1e83f7d0bc30be8b34ecdaf444a0b19a4>
[67] [CITE@en[Editorial: put properties shared across globals on mixin ยท whatwg/html@cdd48e1]]
([TIME[2016-04-07 20:04:34 +09:00]] ็)
<https://github.com/whatwg/html/commit/cdd48e1f570c817402bf62108847c4a9f4b00b1e>
[68] [CITE@en[Wire up HostEnsureCanCompileStrings to CSP ยท whatwg/html@374b54d]]
([TIME[2016-04-09 13:39:52 +09:00]] ็)
<https://github.com/whatwg/html/commit/374b54d3fce7c9c72b940d3e97f8e8f2845cde9b>
[121] [CITE@en[Purpose of timer nesting level for repeating timers is unclear ยท Issue #239 ยท whatwg/html]]
( ([TIME[2016-06-07 10:44:26 +09:00]]))
<https://github.com/whatwg/html/issues/239>