Skip to content

Commit 56d0e4c

Browse files
committed
[blocking_event_loop] Ensure some operations are completed.
Needs proper translation timoxley#93.
1 parent a32bd16 commit 56d0e4c

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

exercises/blocking_event_loop/problem.fr.md

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

33
Modifiez la fonction récursive `repeat()`, fournie plus bas dans la base de travail, de façon à ce qu’elle ne bloque pas la boucle événementielle (c’est-à-dire pour qu’elle laisse passer les timers et gestionnaires E/S). Il vous faudra nécessairement en faire une fonction asynchrone.
44

5-
Un timeout sera déclenché après une seconde, qui affichera les résultats du test et terminara le processus. `repeat()` doit relâcher son contrôle sur la boucle événementielle de telle sorte que ce timeout puisse s’exécuter avant que 1500 millisecondes soient passées.
5+
Un timeout sera déclenché après 100 millisecondes, qui affichera les résultats du test et terminara le processus. `repeat()` doit relâcher son contrôle sur la boucle événementielle de telle sorte que ce timeout puisse s’exécuter avant toutes les opérations complètes.
66

77
Essayez d’exécuter l’opération passée à `repeat()` autant de fois que possible avant le timeout !
88

exercises/blocking_event_loop/problem.md

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

33
Modify the recursive `repeat` function provided in the boilerplate, such that it does not block the event loop (i.e. Timers and IO handlers can fire). This necessarily requires repeat to be asynchronous.
44

5-
A timeout is queued to fire after 1 second, which will print the results of the test and exit the process. `repeat` should release control of the event loop such that the timeout fires before 1500 milliseconds elapse.
5+
A timeout is queued to fire after 100 milliseconds, which will print the results of the test and exit the process. `repeat` should release control of the event loop to allow the timeout to interrupt before all of the operations complete.
66

77
Try to perform as many operations as you can before the timeout fires!
88

exercises/blocking_event_loop/wrapper.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ setTimeout(function() {
3131
var end = Date.now()
3232
console.error('Performed %d operations.', count)
3333

34+
if (count < 10) {
35+
console.log('Fail! You should have completed some operations!')
36+
process.exit(1)
37+
}
38+
3439
if (count >= CYCLES) {
3540
console.log('Fail! Should not have completed all operations!')
3641
process.exit(1)
@@ -39,4 +44,4 @@ setTimeout(function() {
3944
console.log('Operations successfully interrupted!')
4045
console.error('Interrupted after %d milliseconds.', end - start)
4146
process.exit()
42-
})
47+
}, 100)

exercises/blocking_event_loop/wrapper_fr.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ setTimeout(function() {
3030
var end = Date.now()
3131
console.error('J’ai effectué %d opérations.', count)
3232

33+
if (count < 10) {
34+
console.log('Fail ! Vous devez effectuer quelques opérations !')
35+
process.exit(1)
36+
}
37+
3338
if (count >= CYCLES) {
3439
console.log('Raté ! Je n’aurais pas du pouvoir aller au bout !')
3540
process.exit(1)
@@ -38,4 +43,4 @@ setTimeout(function() {
3843
console.log('Opérations interrompues succès !')
3944
console.error('Interrompu après %d millisecondes.', end - start)
4045
process.exit()
41-
})
46+
}, 100)

0 commit comments

Comments
 (0)