﻿1
00:00:01,030 --> 00:00:02,780
‫Jonas : Comme promis, nous

2
00:00:02,780 --> 00:00:06,083
‫allons maintenant utiliser des émetteurs et des écouteurs d'événements en pratique,

3
00:00:07,500 --> 00:00:10,203
‫et nous commençons par créer un nouveau fichier ici.

4
00:00:11,770 --> 00:00:15,470
‫Donc événements. js et fermez celui-ci.

5
00:00:15,470 --> 00:00:18,250
‫Donc, pour utiliser les événements de nœud intégrés,

6
00:00:18,250 --> 00:00:20,743
‫nous devons exiger le module d'événements, et

7
00:00:21,890 --> 00:00:22,880
‫à partir

8
00:00:22,880 --> 00:00:25,533
‫de cela, nous allons exiger une classe EventEmitter.

9
00:00:27,580 --> 00:00:30,300
‫Donc, EventEmitter, c'est en quelque sorte

10
00:00:30,300 --> 00:00:34,743
‫le nom standard pour le résultat de l'exigence de ce module d'événements.

11
00:00:35,740 --> 00:00:38,890
‫Encore une fois, il s'agit d'un module de nœud intégré, d'accord ?

12
00:00:38,890 --> 00:00:40,600
‫Et maintenant, pour créer un

13
00:00:40,600 --> 00:00:42,940
‫nouvel émetteur, nous créons simplement une instance

14
00:00:42,940 --> 00:00:45,530
‫essentiellement de la classe que nous venons d'importer.

15
00:00:45,530 --> 00:00:47,273
‫Donc très simple

16
00:00:49,470 --> 00:00:52,160
‫myEmitter est un nouvel EventEmitter.

17
00:00:52,160 --> 00:00:56,240
‫Donc EventEmitter comme ça.

18
00:00:56,240 --> 00:00:58,580
‫Alors rappelez-vous de la dernière vidéo

19
00:00:58,580 --> 00:01:01,690
‫que les EventEmitters peuvent émettre des événements nommés, et

20
00:01:01,690 --> 00:01:04,090
‫nous pouvons ensuite nous abonner à ces

21
00:01:04,090 --> 00:01:05,870
‫événements, donc en gros,

22
00:01:05,870 --> 00:01:08,840
‫les écouter, puis réagir en conséquence, d'accord ?

23
00:01:08,840 --> 00:01:10,990
‫C'est donc un peu comme configurer un

24
00:01:10,990 --> 00:01:13,570
‫EventListener sur un élément stupide, par exemple, pour cliquer

25
00:01:13,570 --> 00:01:15,800
‫sur un bouton, et je suis sûr

26
00:01:15,800 --> 00:01:17,360
‫que vous l'avez déjà

27
00:01:17,360 --> 00:01:20,700
‫fait, lorsque vous travaillez avec JavaScript côté client, n'est-ce pas ?

28
00:01:20,700 --> 00:01:22,590
‫Donc notre émetteur finira

29
00:01:22,590 --> 00:01:25,000
‫par émettre un événement nommé, d'accord ?

30
00:01:25,000 --> 00:01:26,093
‫Alors mettons cela

31
00:01:27,050 --> 00:01:29,230
‫en place, et faisons simplement comme

32
00:01:29,230 --> 00:01:34,230
‫si nous construisions une boutique en ligne ou quelque chose du genre, d'accord ?

33
00:01:34,390 --> 00:01:37,277
‫On peut donc dire myEmitter. émet(), puis nous

34
00:01:37,277 --> 00:01:42,277
‫pouvons créer n'importe quel nom d'événement que nous voulons, d'accord ?

35
00:01:43,690 --> 00:01:48,040
‫Nous voulons donc émettre un événement appelé newSale, d'accord ?

36
00:01:48,040 --> 00:01:50,410
‫Et en utilisant l'exemple de cliquer

37
00:01:50,410 --> 00:01:52,470
‫sur un bouton que

38
00:01:52,470 --> 00:01:57,250
‫j'ai utilisé auparavant, cette émission ici est comme si nous cliquions sur

39
00:01:57,250 --> 00:02:01,820
‫le bouton, et maintenant nous devons configurer ces écouteurs, d'accord ?

40
00:02:01,820 --> 00:02:03,820
‫Et permettez-moi de le faire

41
00:02:04,760 --> 00:02:09,000
‫avant ici, et donc encore une fois, nous utilisons notre objet myEmitter.

42
00:02:09,000 --> 00:02:12,470
‫Entrez que nous utilisons la méthode on, d'accord ?

43
00:02:12,470 --> 00:02:17,330
‫Donc sur newSale puis la fonction de rappel , qui

44
00:02:17,330 --> 00:02:21,673
‫va être exécutée dès que l'événement est émis.

45
00:02:23,960 --> 00:02:28,287
‫Alors comme d'habitude, passons simplement à la console.

46
00:02:28,287 --> 00:02:31,810
‫« Il y a eu une nouvelle vente ! "

47
00:02:31,810 --> 00:02:35,400
‫D'accord, et ajoutons-en un autre.

48
00:02:35,400 --> 00:02:37,060
‫Rappelez-vous donc que j'ai dit

49
00:02:37,060 --> 00:02:40,850
‫plus tôt que l'un des avantages de ces émetteurs d'événements est que nous

50
00:02:40,850 --> 00:02:42,000
‫pouvons en fait

51
00:02:42,000 --> 00:02:44,153
‫configurer plusieurs écouteurs pour le même événement.

52
00:02:45,350 --> 00:02:46,643
‫Faisons-le ici,

53
00:02:48,330 --> 00:02:50,220
‫et encore une fois,

54
00:02:50,220 --> 00:02:52,413
‫bien sûr, nous écoutons l'événement

55
00:02:53,308 --> 00:02:55,391
‫newSale (en tapant), puis nous

56
00:02:57,608 --> 00:02:59,370
‫enregistrons simplement autre chose.

57
00:02:59,370 --> 00:03:01,200
‫Peu importe ici.

58
00:03:01,200 --> 00:03:04,520
‫Donc '"Nom du client :', par exemple 'Jonas"'.

59
00:03:04,520 --> 00:03:06,510
‫Alors, testons cela, effaçons celui

60
00:03:06,510 --> 00:03:08,370
‫d'avant, et nous utilisons

61
00:03:08,370 --> 00:03:09,530
‫node,

62
00:03:09,530 --> 00:03:12,323
‫puis les événements. js.

63
00:03:13,250 --> 00:03:16,900
‫Donc, Il y a eu une vente et Nom du client :

64
00:03:16,900 --> 00:03:19,830
‫Jonas, et donc vous voyez déjà que ça marche.

65
00:03:19,830 --> 00:03:24,170
‫Alors, super, c'est donc le modèle d'observateur, tu te souviens ?

66
00:03:24,170 --> 00:03:28,660
‫Là où celui-ci ici est l'objet qui émet les événements, et puis

67
00:03:28,660 --> 00:03:29,740
‫ces deux

68
00:03:29,740 --> 00:03:31,750
‫là, donc ça et ça,

69
00:03:31,750 --> 00:03:33,250
‫ce sont les observateurs.

70
00:03:33,250 --> 00:03:34,950
‫Ils observent

71
00:03:34,950 --> 00:03:39,060
‫l'émetteur et attendent qu'il émette l'événement newSale.

72
00:03:39,060 --> 00:03:42,710
‫Et, bien sûr, notre émetteur pourrait également émettre d'autres événements.

73
00:03:42,710 --> 00:03:46,630
‫Comme un nouveau client ou une nouvelle commande ou quelque chose

74
00:03:46,630 --> 00:03:50,950
‫comme ça, et nous pourrions ensuite ajouter des auditeurs pour celui-là aussi, d'accord ?

75
00:03:50,950 --> 00:03:52,860
‫Maintenant, une autre chose que

76
00:03:52,860 --> 00:03:56,580
‫je voulais vous montrer est que nous pouvons même passer

77
00:03:56,580 --> 00:03:58,450
‫des arguments à l'EventListener

78
00:03:58,450 --> 00:04:02,160
‫en les passant comme argument supplémentaire dans l'émetteur, ici.

79
00:04:02,160 --> 00:04:05,260
‫Alors disons que passe neuf, donc dans ce

80
00:04:05,260 --> 00:04:06,900
‫cas juste un numéro,

81
00:04:06,900 --> 00:04:10,013
‫et nous avons alors un auditeur qui veut l'utiliser.

82
00:04:10,848 --> 00:04:12,520
‫(en tapant) Donc

83
00:04:12,520 --> 00:04:14,529
‫myEmitter, (en tapant) newSale,

84
00:04:14,529 --> 00:04:16,612
‫et maintenant cette fonction

85
00:04:17,553 --> 00:04:18,710
‫de

86
00:04:18,710 --> 00:04:22,080
‫rappel peut prendre un argument, et

87
00:04:22,080 --> 00:04:23,713
‫appelons-la donc stock.

88
00:04:25,460 --> 00:04:28,940
‫Donc, fondamentalement, la quantité d'articles qui

89
00:04:29,910 --> 00:04:33,560
‫restent du produit que nous vendons ici.

90
00:04:33,560 --> 00:04:35,300
‫Utilisons une chaîne de modèle.

91
00:04:35,300 --> 00:04:37,430
‫Il

92
00:04:39,970 --> 00:04:46,115
‫reste maintenant des articles en stock.

93
00:04:46,115 --> 00:04:48,640
‫Donc, si nous l'exécutons maintenant, nous devrions

94
00:04:48,640 --> 00:04:51,620
‫voir qu'il reste maintenant neuf articles en stock

95
00:04:51,620 --> 00:04:54,130
‫car nous avons émis cet événement essentiellement

96
00:04:54,130 --> 00:04:56,210
‫avec un neuf, et

97
00:04:56,210 --> 00:04:58,500
‫l'auditeur peut alors récupérer cette valeur

98
00:04:58,500 --> 00:05:01,490
‫ici comme argument de ses fonctions de rappel.

99
00:05:01,490 --> 00:05:03,860
‫Donc, cette variable de stock ici dans ce cas.

100
00:05:03,860 --> 00:05:05,260
‫Donc, si vous

101
00:05:05,260 --> 00:05:07,940
‫l'exécutez à nouveau, voici neuf articles en stock.

102
00:05:07,940 --> 00:05:10,730
‫Alors, parfait, et vous voyez que ces trois

103
00:05:10,730 --> 00:05:13,554
‫journaux apparaissent ici exactement dans le même ordre qu'ils

104
00:05:13,554 --> 00:05:16,050
‫sont déclarés dans le code, d'accord ?

105
00:05:16,050 --> 00:05:17,770
‫Et c'est donc le comportement normal.

106
00:05:17,770 --> 00:05:20,509
‫Si nous avons plusieurs écouteurs pour le même événement,

107
00:05:20,509 --> 00:05:22,510
‫ils s'exécuteront de manière synchrone.

108
00:05:22,510 --> 00:05:24,930
‫Donc l'un après l'autre dans l'ordre où

109
00:05:24,930 --> 00:05:26,780
‫ils étaient dans le code.

110
00:05:26,780 --> 00:05:29,600
‫Donc, ce petit exemple fonctionne déjà parfaitement,

111
00:05:29,600 --> 00:05:32,440
‫mais si vous deviez utiliser ce modèle dans la

112
00:05:32,440 --> 00:05:35,490
‫vraie vie, alors c'est une bonne pratique de créer

113
00:05:35,490 --> 00:05:38,900
‫une nouvelle classe qui héritera en fait du nœud EventEmitter.

114
00:05:38,900 --> 00:05:40,793
‫Donc, quelque chose comme ça.

115
00:05:41,729 --> 00:05:44,320
‫(en tapant) Disons que

116
00:05:44,320 --> 00:05:49,247
‫la classe Sales étend EventEmitter, et c'est la

117
00:05:50,800 --> 00:05:55,800
‫syntaxe ES6 ou ES2015 pour l'héritage de classe.

118
00:05:56,000 --> 00:05:57,800
‫Et encore une fois, j'espère

119
00:05:57,800 --> 00:06:01,700
‫que vous connaissez ES6 au moment où vous suivez ce cours, d'accord ?

120
00:06:01,700 --> 00:06:05,760
‫Donc, par cœur, l'EventEmitter est une classe, donc celle que nous

121
00:06:05,760 --> 00:06:07,920
‫avons importée des événements dans notre

122
00:06:07,920 --> 00:06:09,330
‫classe de vente,

123
00:06:09,330 --> 00:06:11,230
‫est la nouvelle classe que

124
00:06:11,230 --> 00:06:13,070
‫nous créons, et qui hérite

125
00:06:13,070 --> 00:06:15,930
‫de tout de la classe EventEmitter, d'accord ?

126
00:06:15,930 --> 00:06:19,110
‫Ensuite, dans ES6, chaque classe obtient un constructeur qui est

127
00:06:19,110 --> 00:06:20,623
‫une fonction qui est

128
00:06:20,623 --> 00:06:25,120
‫exécutée dès que nous créons un nouvel objet à partir d'une classe, d'accord ?

129
00:06:25,120 --> 00:06:27,863
‫Et ce que nous devons faire ici, c'est

130
00:06:28,780 --> 00:06:31,000
‫appeler super, et c'est quelque chose

131
00:06:31,000 --> 00:06:35,130
‫que nous devons toujours faire lorsque nous étendons une autre superclasse, d'accord ?

132
00:06:35,130 --> 00:06:36,330
‫C'est donc la

133
00:06:36,330 --> 00:06:38,420
‫classe parent, et c'est la superclasse,

134
00:06:38,420 --> 00:06:39,950
‫et en exécutant super,

135
00:06:39,950 --> 00:06:43,920
‫nous avons alors accès à toutes les méthodes de la classe parent.

136
00:06:43,920 --> 00:06:47,210
‫Donc, encore une fois, EventEmitter dans ce cas, d'accord ?

137
00:06:47,210 --> 00:06:50,229
‫Et maintenant ce que nous devons faire

138
00:06:50,229 --> 00:06:52,780
‫est de déplacer celui-ci vers

139
00:06:52,780 --> 00:06:55,240
‫le bas, (en cliquant)

140
00:06:55,240 --> 00:07:00,240
‫et donc maintenant mon émetteur est un nouveau Sales, d'accord ?

141
00:07:01,260 --> 00:07:03,912
‫Et maintenant, cela fonctionnera exactement de la même manière,

142
00:07:03,912 --> 00:07:06,350
‫et en effet, nous y voilà, et

143
00:07:06,350 --> 00:07:09,560
‫en fait ce mécanisme que je viens de vous montrer ici.

144
00:07:09,560 --> 00:07:13,130
‫Donc, fondamentalement, étendre la classe EventEmitter est exactement comment les

145
00:07:13,130 --> 00:07:15,410
‫différents modules de nœud, comme

146
00:07:15,410 --> 00:07:20,180
‫HTTP, le système de fichiers et de nombreux autres modules de noyau de

147
00:07:20,180 --> 00:07:23,060
‫nœud implémentent les événements en interne, d'accord ?

148
00:07:23,060 --> 00:07:24,740
‫Ils héritent donc

149
00:07:24,740 --> 00:07:26,833
‫tous de la classe EventEmitter.

150
00:07:26,833 --> 00:07:29,420
‫D'accord, et avec ce petit exemple

151
00:07:29,420 --> 00:07:32,240
‫qui fonctionne, essayons maintenant une autre chose.

152
00:07:32,240 --> 00:07:35,700
‫Donc, puisque je parlais tout à l'heure du

153
00:07:35,700 --> 00:07:38,610
‫module HTTP, permettez-moi de vous démontrer

154
00:07:38,610 --> 00:07:42,190
‫qu'il est entièrement basé sur des événements, d'accord ?

155
00:07:42,190 --> 00:07:44,180
‫Nous avons donc cette partie qui fonctionne.

156
00:07:44,180 --> 00:07:47,173
‫Créons quelques commentaires ici, quelque chose,

157
00:07:48,520 --> 00:07:51,780
‫puis créons un autre exemple ici, d'accord ?

158
00:07:51,780 --> 00:07:53,530
‫Et ce que

159
00:07:53,530 --> 00:07:56,080
‫nous allons faire, c'est créer un

160
00:07:56,080 --> 00:08:00,770
‫petit serveur Web, puis écouter l'événement qu'il émet, d'accord ?

161
00:08:00,770 --> 00:08:04,793
‫Donc, ici, nous devons importer le module HTTP,

162
00:08:06,480 --> 00:08:08,563
‫(en tapant) Et

163
00:08:11,856 --> 00:08:14,606
‫puis ici, nous pouvons l'utiliser.

164
00:08:16,120 --> 00:08:17,690
‫Nous créons donc un

165
00:08:17,690 --> 00:08:19,980
‫serveur, et maintenant je vais le faire un

166
00:08:19,980 --> 00:08:23,870
‫peu différemment de ce que nous avons fait à la première intersection, d'accord ?

167
00:08:23,870 --> 00:08:26,380
‫Mais en fait, cela fonctionne exactement de la même manière.

168
00:08:26,380 --> 00:08:30,030
‫Donc, tout ce que je vais faire ici est maintenant http. createserver et juste comme ça,

169
00:08:32,630 --> 00:08:34,040
‫et maintenant

170
00:08:34,040 --> 00:08:35,830
‫ce que je vais faire,

171
00:08:35,830 --> 00:08:38,400
‫c'est essentiellement écouter les différents événements que

172
00:08:38,400 --> 00:08:40,113
‫le serveur va émettre.

173
00:08:41,490 --> 00:08:44,040
‫Donc pour ça, encore une fois, j'utilise sur, et

174
00:08:44,040 --> 00:08:47,810
‫donc si vous voyez . sur n'importe où dans

175
00:08:47,810 --> 00:08:50,510
‫un projet de nœud, eh bien, vous

176
00:08:50,510 --> 00:08:55,510
‫savez déjà que vous écoutez ou que le code écoute un événement, d'accord ?

177
00:08:56,210 --> 00:08:58,310
‫Et donc celui que

178
00:08:58,310 --> 00:09:02,170
‫nous écoutons ici est l'événement de demande, d'accord ?

179
00:09:02,170 --> 00:09:04,600
‫Et maintenant, cela fonctionne exactement comme avant,

180
00:09:04,600 --> 00:09:05,870
‫nous avons une

181
00:09:05,870 --> 00:09:09,640
‫fonction de rappel qui accède à la demande et à la réponse.

182
00:09:09,640 --> 00:09:12,140
‫Donc, rien de ce que vous avez fait à

183
00:09:12,140 --> 00:09:16,223
‫ce stade, nous avons fait exactement cela dans le projet de ferme de nœuds, d'accord ?

184
00:09:17,120 --> 00:09:19,460
‫Alors consolez-vous. log

185
00:09:19,460 --> 00:09:21,543
‫(en tapant) "demande

186
00:09:22,687 --> 00:09:26,333
‫reçue", puis renvoyons également quelque chose.

187
00:09:27,650 --> 00:09:29,733
‫(en tapant) Juste le

188
00:09:30,960 --> 00:09:33,610
‫même texte en fait, d'accord ?

189
00:09:33,610 --> 00:09:36,720
‫Et, bien sûr, nous pouvons écouter

190
00:09:36,720 --> 00:09:39,481
‫plusieurs fois le même événement.

191
00:09:39,481 --> 00:09:41,210
‫(en cliquant) Alors disons simplement

192
00:09:41,210 --> 00:09:43,723
‫ici "Une autre demande" en utilisant des

193
00:09:47,450 --> 00:09:51,850
‫emoji ici juste pour le faire ressortir un peu plus, et il

194
00:09:51,850 --> 00:09:53,080
‫n'apparaît pas.

195
00:09:53,080 --> 00:09:54,233
‫Que se passe t-il ici?

196
00:09:55,500 --> 00:09:56,333
‫Ah, on y va.

197
00:09:57,700 --> 00:09:59,420
‫Donc, l'écoute d'une demande,

198
00:09:59,420 --> 00:10:02,563
‫et nous pouvons également écouter l'événement de clôture.

199
00:10:04,020 --> 00:10:07,970
‫Donc, serveur à la fermeture, et c'est l'événement

200
00:10:07,970 --> 00:10:09,530
‫qui est

201
00:10:09,530 --> 00:10:14,530
‫déclenché lorsque le serveur, comme vous pouvez l'imaginer, se ferme.

202
00:10:14,616 --> 00:10:16,699
‫(en tapant) D'accord, c'est

203
00:10:18,500 --> 00:10:21,740
‫donc écouter les événements, et maintenant,

204
00:10:21,740 --> 00:10:23,500
‫rappelez-vous, nous

205
00:10:23,500 --> 00:10:26,620
‫devons également démarrer le serveur.

206
00:10:26,620 --> 00:10:28,290
‫Donc, et nous démarrons le serveur

207
00:10:28,290 --> 00:10:30,613
‫en utilisant server. écoutez, passez

208
00:10:32,990 --> 00:10:36,520
‫dans le port, l'adresse qui est à nouveau localhost

209
00:10:36,520 --> 00:10:38,463
‫pour nous dans ce cas,

210
00:10:39,340 --> 00:10:43,260
‫point un, et ensuite, notre fonction de rappel qui est

211
00:10:44,170 --> 00:10:46,670
‫facultative mais incluons-la à nouveau ici.

212
00:10:47,722 --> 00:10:49,805
‫(en tapant) "En attente

213
00:10:54,057 --> 00:10:56,340
‫de demandes... " Alors,

214
00:10:56,340 --> 00:10:58,073
‫commençons réellement cela, et

215
00:10:59,550 --> 00:11:02,360
‫nous voyons En attente de demande... et l'application ne se ferme pas, et maintenant vous savez pourquoi

216
00:11:02,360 --> 00:11:04,830
‫elle ne se ferme pas, n'est-ce pas ?

217
00:11:04,830 --> 00:11:08,210
‫C'est parce que la boucle d'événements attend toujours les

218
00:11:08,210 --> 00:11:10,510
‫E/S entrantes, n'est-ce pas ?

219
00:11:10,510 --> 00:11:13,600
‫C'est donc ce que nous avons appris dans les conférences en boucle d'événements, d'accord ?

220
00:11:13,600 --> 00:11:17,430
‫Faisons maintenant une requête sur le port 8000 sur cette URL.

221
00:11:17,430 --> 00:11:22,177
‫(en cliquant) (en tapant)

222
00:11:22,177 --> 00:11:24,461
‫Et c'est

223
00:11:24,461 --> 00:11:26,544
‫parti.

224
00:11:29,000 --> 00:11:29,833
‫Ainsi, nous voyons Demande reçue.

225
00:11:29,833 --> 00:11:33,100
‫Donc ça marche car dès qu'il y a une

226
00:11:33,100 --> 00:11:36,659
‫nouvelle requête, le serveur émet automatiquement l'objet requête, d'accord ?

227
00:11:36,659 --> 00:11:41,659
‫Et nous pouvons le voir ici bien sûr, et ici dans la

228
00:11:42,030 --> 00:11:44,450
‫console, nous voyons notre chaîne de

229
00:11:44,450 --> 00:11:45,600
‫demande reçue.

230
00:11:45,600 --> 00:11:48,193
‫En fait, je voulais en avoir un autre ici.

231
00:11:49,130 --> 00:11:51,831
‫Ainsi, nous ne pouvons bien entendu envoyer qu'une seule réponse.

232
00:11:51,831 --> 00:11:56,135
‫Donc ici, je devrais avoir une autre console. log à la place.

233
00:11:56,135 --> 00:12:00,973
‫Alors laissez, quittez ceci, redémarrez-le, rechargez,

234
00:12:03,000 --> 00:12:06,533
‫et, oui, alors maintenant nous obtenons la demande reçue,

235
00:12:08,190 --> 00:12:09,023
‫qui

236
00:12:10,340 --> 00:12:12,790
‫provient de ce premier EventListener, et une

237
00:12:12,790 --> 00:12:15,170
‫autre demande de ce deuxième EventListener.

238
00:12:15,170 --> 00:12:18,930
‫Une chose que vous remarquerez probablement est que chacun de ces éléments est

239
00:12:18,930 --> 00:12:20,690
‫en fait enregistré deux fois.

240
00:12:20,690 --> 00:12:24,750
‫Cela signifie donc que le serveur émet également

241
00:12:24,750 --> 00:12:27,720
‫deux fois l'événement de requête.

242
00:12:27,720 --> 00:12:31,000
‫Voyons donc pourquoi.

243
00:12:31,000 --> 00:12:33,104
‫(en

244
00:12:33,104 --> 00:12:35,930
‫tapant) Alors console. journal, demande. URL.

245
00:12:35,930 --> 00:12:40,643
‫Ainsi, avec cela, nous pouvons

246
00:12:41,510 --> 00:12:43,240
‫maintenant accéder à l'URL de la demande.

247
00:12:43,240 --> 00:12:46,264
‫(en cliquant) Arrêtons-le

248
00:12:46,264 --> 00:12:49,230
‫ici.

249
00:12:49,230 --> 00:12:50,300
‫Exécutez-le à nouveau,

250
00:12:50,300 --> 00:12:51,373
‫rechargez, et nous

251
00:12:53,030 --> 00:12:53,863
‫en avons

252
00:12:54,970 --> 00:12:58,300
‫un pour l'URL racine, puis un pour le favicon. ico Ainsi, les navigateurs essaient automatiquement de demander

253
00:12:58,300 --> 00:13:01,510
‫un favicon pour

254
00:13:01,510 --> 00:13:03,880
‫chaque site Web, d'accord ?

255
00:13:03,880 --> 00:13:07,140
‫C'est pourquoi chacun d'eux est apparu deux fois en fait, d'accord ?

256
00:13:07,140 --> 00:13:12,140
‫Donc, vous voyez que nous ne devons pas toujours émettre

257
00:13:12,500 --> 00:13:14,520
‫également des événements.

258
00:13:14,520 --> 00:13:18,020
‫C'est plus lorsque nous essayons d'utiliser l'EventEmitter par nous-mêmes.

259
00:13:18,020 --> 00:13:22,390
‫Donc, fondamentalement, lorsque nous essayons d'utiliser nos événements personnalisés

260
00:13:22,390 --> 00:13:24,520
‫dans nos applications.

261
00:13:24,520 --> 00:13:26,860
‫Dans ce cas, bien sûr, nous devons

262
00:13:26,860 --> 00:13:27,740
‫émettre les

263
00:13:27,740 --> 00:13:30,450
‫événements nous-mêmes, mais si nous utilisons un module de

264
00:13:30,450 --> 00:13:33,260
‫nœud intégré, ces fonctions émettront plusieurs fois leurs propres

265
00:13:33,260 --> 00:13:35,760
‫événements, et tout ce que nous avons à

266
00:13:35,760 --> 00:13:37,460
‫faire est d'écouter eux.

267
00:13:37,460 --> 00:13:39,530
‫C'est donc exactement ce que nous avons fait

268
00:13:39,530 --> 00:13:42,030
‫ici, et avec cela, je pense, vous savez maintenant tout ce

269
00:13:42,030 --> 00:13:43,140
‫que vous devez savoir

270
00:13:43,140 --> 00:13:46,040
‫sur les événements, et vous êtes prêt à m'accompagner pour la prochaine vidéo.

