Skip to content

Commit 3429249

Browse files
authored
Merge pull request #398 from nico-m-64/master
Event loop: microtasks and macrotasks
2 parents 84122c8 + d91a175 commit 3429249

File tree

3 files changed

+135
-135
lines changed

3 files changed

+135
-135
lines changed
Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
1-
The console output is: 1 7 3 5 2 6 4.
1+
La sortie console est : 1 7 3 5 2 6 4.
22

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.
44

5-
Let's see what's going on, step by step.
5+
Voyons ce qui se passe, étape par étape.
66

77
```js
88
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.
1111

1212
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:
1515
// `console.log(2)`
1616

1717
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:
2020
// `console.log(3)`
2121

2222
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:
2525
// `console.log(3); setTimeout(...4)`
2626

2727
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:
3030
// `console.log(3); setTimeout(...4); console.log(5)`
3131

3232
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:
3535
// `console.log(2); console.log(6)`
3636

3737
console.log(7);
38-
// Outputs 7 immediately.
38+
// Affiche 7 immédiatement.
3939
```
4040

41-
To summarize,
41+
Pour résumer,
4242

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`.
4949

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`.

2-ui/99-ui-misc/03-event-loop/2-micro-macro-queue/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ importance: 5
22

33
---
44

5-
# What will be the output of this code?
5+
# Quelle sera la sortie de ce code?
66

77
```js
88
console.log(1);

0 commit comments

Comments
 (0)