You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/06-advanced-functions/08-settimeout-setinterval/article.md
+2-22Lines changed: 2 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,11 +101,7 @@ Comme on peut le voir dans les résultats des `alert`, dans notre navigateur, l'
101
101
102
102
Encore une fois, il n'y a pas de spécification universelle pour ces méthodes, donc ce n'est pas gênant.
103
103
104
-
<<<<<<< HEAD
105
-
Dans le cas des navigateurs web, les timers sont décrits dans [la section sur les timers](https://www.w3.org/TR/html5/webappapis.html#timers) de la documentation du standard HTML5.
106
-
=======
107
-
For browsers, timers are described in the [timers section](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers) of HTML Living Standard.
108
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
104
+
Pour les navigateurs, les timers sont décrits dans la [section des timers](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers) de HTML Living Standard.
Pour `setInterval`, la fonction reste en mémoire jusqu'à ce qu'on appelle `clearInterval`.
238
234
239
-
<<<<<<< HEAD
240
235
Mais il y a un effet de bord, une fonction référence l'environement lexical extérieur, donc tant qu'elle existe, les variables extérieures existent aussi. Ces variables peuvent occuper autant d'espace mémoire que la fonction elle-même. De ce fait quand on n'a plus besoin d'une fonction planifiée, il est préférable de l'annuler, même si elle est courte.
241
-
=======
242
-
There's a side effect. A function references the outer lexical environment, so, while it lives, outer variables live too. They may take much more memory than the function itself. So when we don't need the scheduled function anymore, it's better to cancel it, even if it's very small.
243
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
244
236
````
245
237
246
238
## setTimeout sans délai
@@ -263,13 +255,8 @@ La première ligne "met l'appel dans le calendrier après 0 ms". Mais le planifi
263
255
264
256
Il y a aussi d'autres cas d'usage avancés d'ordonnancement à délai nul, spécifique au cas des navigateurs web, dont nous parlerons dans le chapitre <info:event-loop>.
265
257
266
-
<<<<<<< HEAD
267
258
````smart header="Un délai nul n'est pas vraiment nul (pour un navigateur)"
268
-
Il y a une limitation intrinsèque à chaque navigateur sur la fréquence à laquelle des timers consécutifs peuvent s'exécuter. Le [standard HTML5](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers) indique : "au delà de 5 timers consécutifs, l'interval est obligatoirement d'au moins 4 millisecondes.".
269
-
=======
270
-
````smart header="Zero delay is in fact not zero (in a browser)"
271
-
In the browser, there's a limitation of how often nested timers can run. The [HTML Living Standard](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers) says: "after five nested timers, the interval is forced to be at least 4 milliseconds.".
272
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
259
+
Dans le navigateur, la fréquence d'exécution des timers imbriqués est limitée. Le [HTML Living Standard](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers) indique : "après cinq timers imbriqués, l'intervalle est forcé d'être d'au moins 4 millisecondes.".
273
260
274
261
Nous allons illustrer ce que cela veut dire dans l'exemple ci-dessous. L'appel à `setTimeout` s'y ré-ordonnance lui-même avec un délai nul. Chaque appel se souvient de l'heure de l'appel précédent grâce au tableau `times`. Cela va nous permettre de mesurer les délais réels entre les exécutions :
275
262
@@ -307,16 +294,9 @@ Pour le JavaScript côté serveur, cette limitation n'existe pas, et il existe d
307
294
308
295
Veuillez noter que toutes les méthodes de planification ne garantissent pas le délai exact.
309
296
310
-
<<<<<<< HEAD
311
297
Par exemple, le timer interne au navigateur peut être ralenti pour de nombreuses raisons :
312
298
- Le CPU est surchargé.
313
299
- L'onglet du navigateur est en tâche de fond.
314
300
- L'ordinateur est en mode économie d'énergie.
315
-
=======
316
-
For example, the in-browser timer may slow down for a lot of reasons:
317
-
- The CPU is overloaded.
318
-
- The browser tab is in the background mode.
319
-
- The laptop is on battery saving mode.
320
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
321
301
322
302
Tout ceci peut augmenter la résolution de l'horloge (le délai minimum) jusqu'à 300ms voire 1000ms en fonction du navigateur et des paramètres de performance au niveau du système d'exploitation.
0 commit comments