|
1 |
| -The console output is: 1 7 3 5 2 6 4. |
| 1 | +La sortie console est : 1 7 3 5 2 6 4. |
2 | 2 |
|
3 |
| -The task is quite simple, we just need to know how microtask and macrotask queues work. |
| 3 | +La tâche est assez simple, nous avons juste besoin de savoir comment fonctionnent les files d'attente pour microtâches et macrotâches. |
4 | 4 |
|
5 |
| -Let's see what's going on, step by step. |
| 5 | +Voyons ce qui se passe, étape par étape. |
6 | 6 |
|
7 | 7 | ```js
|
8 | 8 | console.log(1);
|
9 |
| -// The first line executes immediately, it outputs `1`. |
10 |
| -// Macrotask and microtask queues are empty, as of now. |
| 9 | +// La première ligne s'exécute immédiatement, elle sort `1`. |
| 10 | +// Les files d'attente Macrotask et Microtask sont vides, pour l'instant. |
11 | 11 |
|
12 | 12 | setTimeout(() => console.log(2));
|
13 |
| -// `setTimeout` appends the callback to the macrotask queue. |
14 |
| -// - macrotask queue content: |
| 13 | +// `setTimeout` ajoute la callback à la file d'attente macrotask. |
| 14 | +// - la file d'attente macrotask contient: |
15 | 15 | // `console.log(2)`
|
16 | 16 |
|
17 | 17 | Promise.resolve().then(() => console.log(3));
|
18 |
| -// The callback is appended to the microtask queue. |
19 |
| -// - microtask queue content: |
| 18 | +// La callback est ajoutée à la file d'attente des microtâches. |
| 19 | +// - contenu de la file d'attente des microtâches: |
20 | 20 | // `console.log(3)`
|
21 | 21 |
|
22 | 22 | Promise.resolve().then(() => setTimeout(() => console.log(4)));
|
23 |
| -// The callback with `setTimeout(...4)` is appended to microtasks |
24 |
| -// - microtask queue content: |
| 23 | +// La callback avec `setTimeout (...4) `est ajoutée aux microtâche |
| 24 | +// - contenu de la file d'attente des microtâches: |
25 | 25 | // `console.log(3); setTimeout(...4)`
|
26 | 26 |
|
27 | 27 | Promise.resolve().then(() => console.log(5));
|
28 |
| -// The callback is appended to the microtask queue |
29 |
| -// - microtask queue content: |
| 28 | +// La callback est ajoutée à la file d'attente des microtâches |
| 29 | +// - contenu de la file d'attente des microtâches: |
30 | 30 | // `console.log(3); setTimeout(...4); console.log(5)`
|
31 | 31 |
|
32 | 32 | setTimeout(() => console.log(6));
|
33 |
| -// `setTimeout` appends the callback to macrotasks |
34 |
| -// - macrotask queue content: |
| 33 | +// `setTimeout` ajoute la callback aux macrotasks |
| 34 | +// - contenu de la file d'attente macrotask: |
35 | 35 | // `console.log(2); console.log(6)`
|
36 | 36 |
|
37 | 37 | console.log(7);
|
38 |
| -// Outputs 7 immediately. |
| 38 | +// Affiche 7 immédiatement. |
39 | 39 | ```
|
40 | 40 |
|
41 |
| -To summarize, |
| 41 | +Pour résumer, |
42 | 42 |
|
43 |
| -1. Numbers `1` и `7` show up immediately, because simple `console.log` calls don't use any queues. |
44 |
| -2. Then, after the main code flow is finished, the microtask queue runs. |
45 |
| - - It has commands: `console.log(3); setTimeout(...4); console.log(5)`. |
46 |
| - - Numbers `3` и `5` show up, while `setTimeout(() => console.log(4))` adds the `console.log(4)` call to the end of the macrotask queue. |
47 |
| - - The macrotask queue is now: `console.log(2); console.log(6); console.log(4)`. |
48 |
| -3. After the microtask queue becomes empty, the macrotask queue executes. It outputs `2`, `6`, `4`. |
| 43 | +1. Les numéros `1` & `7` apparaissent immédiatement, car les appels simples `console.log` n'utilisent aucune file d'attente. |
| 44 | +2. Ensuite, une fois le flux de code principal terminé, la file d'attente des microtâches s'exécute. |
| 45 | + - Il possède les commandes: `console.log (3); setTimeout (...4); console.log (5) `. |
| 46 | + - Les nombres `3` & `5` apparaissent, tandis que `setTimeout (() => console.log (4))` ajoute l'appel `console.log (4)` à la fin de la file d'attente macrotask. |
| 47 | + - La file d'attente macrotask est maintenant: `console.log (2); console.log (6); console.log (4) `. |
| 48 | +3. Une fois la file d'attente des microtâches vide, la file d'attente des macrotasques s'exécute. Il sort `2`, `6`, `4`. |
49 | 49 |
|
50 |
| -Finally, we have the output: `1 7 3 5 2 6 4`. |
| 50 | +Au final, nous avons la sortie: `1 7 3 5 2 6 4`. |
0 commit comments