﻿1
00:00:01,140 --> 00:00:02,740
‫- : Parlons donc maintenant

2
00:00:02,740 --> 00:00:06,790
‫des problèmes qui peuvent survenir lorsque l'on utilise trop de fonctions de rappel.

3
00:00:06,790 --> 00:00:07,650
‫Et pour

4
00:00:07,650 --> 00:00:09,760
‫ce faire, nous allons faire un petit

5
00:00:09,760 --> 00:00:11,440
‫exemple pour illustrer cet effet.

6
00:00:11,440 --> 00:00:14,620
‫Maintenant, rappelez-vous que si vous êtes déjà familiarisé avec

7
00:00:14,620 --> 00:00:17,130
‫Promises et Async/Await et en général, Asynchronous

8
00:00:17,130 --> 00:00:18,590
‫Java Script, n'hésitez pas

9
00:00:18,590 --> 00:00:21,180
‫à sauter cette section et à marquer

10
00:00:21,180 --> 00:00:23,860
‫toutes les vidéos comme terminées afin que vous

11
00:00:23,860 --> 00:00:26,500
‫puissiez toujours terminer à 100 pour cent

12
00:00:26,500 --> 00:00:27,730
‫le cours.

13
00:00:27,730 --> 00:00:28,910
‫Mais si vous voulez

14
00:00:28,910 --> 00:00:30,350
‫tout savoir sur le script

15
00:00:30,350 --> 00:00:33,283
‫Java asynchrone et comment l'utiliser dans OJS, passons à autre chose.

16
00:00:35,020 --> 00:00:35,853
‫Alors allez-y

17
00:00:35,853 --> 00:00:38,670
‫et obtenez les fichiers de démarrage pour ce projet à

18
00:00:38,670 --> 00:00:39,940
‫partir des fichiers de cours.

19
00:00:39,940 --> 00:00:41,510
‫Je l'ai déjà ici sur mon

20
00:00:41,510 --> 00:00:42,940
‫bureau, donc ce dossier ici.

21
00:00:42,940 --> 00:00:44,850
‫Et il n'y a que ce

22
00:00:44,850 --> 00:00:47,950
‫fichier là-dedans, donc c'est tout ce dont nous aurons besoin pour commencer.

23
00:00:47,950 --> 00:00:50,410
‫Et je l'ai ici dans VS Code déjà ouvert et ce

24
00:00:50,410 --> 00:00:51,680
‫que nous allons faire pour

25
00:00:51,680 --> 00:00:54,680
‫commencer, c'est simplement créer un NX. fichier JS.

26
00:00:54,680 --> 00:00:56,220
‫Juste comme avant.

27
00:00:56,220 --> 00:00:58,130
‫Maintenant, ce que nous allons faire,

28
00:00:58,130 --> 00:00:59,920
‫c'est que nous allons utiliser

29
00:00:59,920 --> 00:01:02,320
‫ce fichier de chien ici, ce fichier texte.

30
00:01:02,320 --> 00:01:06,040
‫Et à partir de là, nous lirons la race de chien.

31
00:01:06,040 --> 00:01:08,570
‫Et puis nous allons faire une requête

32
00:01:08,570 --> 00:01:12,020
‫HTTP pour obtenir une image aléatoire d'un chien de cette race.

33
00:01:12,020 --> 00:01:14,790
‫Et puis enregistrez cette image aléatoire dans

34
00:01:14,790 --> 00:01:16,440
‫un autre fichier texte.

35
00:01:16,440 --> 00:01:18,410
‫C'est donc un processus en trois

36
00:01:18,410 --> 00:01:20,860
‫étapes et tout cela impliquera des fonctions de rappel.

37
00:01:20,860 --> 00:01:23,330
‫Et à la fin, nous verrons le problème que nous rencontrons

38
00:01:23,330 --> 00:01:25,130
‫lorsque nous utilisons toutes ces fonctions de rappel

39
00:01:25,130 --> 00:01:26,610
‫les unes dans les autres.

40
00:01:26,610 --> 00:01:27,443
‫D'accord?

41
00:01:27,443 --> 00:01:29,360
‫Donc, pour cela, nous allons utiliser

42
00:01:29,360 --> 00:01:31,140
‫une API assez populaire.

43
00:01:31,140 --> 00:01:33,670
‫Ce qui ressemble plus à une API amusante.

44
00:01:33,670 --> 00:01:34,980
‫Mais pour ce genre de

45
00:01:34,980 --> 00:01:36,620
‫choses, c'est une bonne idée de l'utiliser.

46
00:01:36,620 --> 00:01:39,800
‫C'est donc le CHIEN. PDG, API.

47
00:01:39,800 --> 00:01:42,140
‫Alors appuyez simplement sur Dog API ici.

48
00:01:42,140 --> 00:01:43,540
‫Alors par

49
00:01:43,540 --> 00:01:45,360
‫ici, la documentation.

50
00:01:45,360 --> 00:01:48,060
‫Et ce que nous voulons, c'est avoir un chien au

51
00:01:48,060 --> 00:01:49,500
‫hasard, ou une certaine race.

52
00:01:49,500 --> 00:01:52,090
‫Alors cliquez ici par race.

53
00:01:52,090 --> 00:01:52,993
‫Et ici

54
00:01:54,790 --> 00:01:58,620
‫en bas, voici le point de terminaison de l'API que nous allons atteindre.

55
00:01:58,620 --> 00:02:00,293
‫C'est donc cette URL ici.

56
00:02:01,750 --> 00:02:03,530
‫Donc, lorsque vous cliquez sur récupérer ici,

57
00:02:03,530 --> 00:02:05,580
‫à chaque fois vous obtenez une nouvelle image, d'accord ?

58
00:02:05,580 --> 00:02:06,413
‫Et donc

59
00:02:06,413 --> 00:02:08,670
‫dans cette section, nous allons en fait faire

60
00:02:08,670 --> 00:02:10,420
‫une requête HTTP comme nous l'avons appris

61
00:02:10,420 --> 00:02:11,850
‫auparavant dans la section précédente.

62
00:02:11,850 --> 00:02:12,683
‫D'accord.

63
00:02:12,683 --> 00:02:14,090
‫Donc tout ce que

64
00:02:14,090 --> 00:02:17,741
‫nous aurons à faire est de créer une requête HTTP vers cette URL

65
00:02:17,741 --> 00:02:19,890
‫et ensuite cela nous renverra une image.

66
00:02:19,890 --> 00:02:20,780
‫D'accord?

67
00:02:20,780 --> 00:02:22,820
‫Mais pour l'instant, commençons en fait par une

68
00:02:22,820 --> 00:02:25,290
‫partie où nous lisons le fichier et obtenons le contenu

69
00:02:25,290 --> 00:02:26,143
‫de ce fichier.

70
00:02:27,900 --> 00:02:31,980
‫Donc dans notre index. js, encore une fois, nous avons besoin du package ou

71
00:02:31,980 --> 00:02:33,440
‫du module du système de fichiers.

72
00:02:33,440 --> 00:02:34,273
‫Donc FS

73
00:02:38,260 --> 00:02:40,743
‫et nécessite le module FS ici.

74
00:02:41,720 --> 00:02:44,960
‫Et juste comme avant de faire fs. readfile et

75
00:02:44,960 --> 00:02:47,320
‫nous faisons la version asynchrone.

76
00:02:47,320 --> 00:02:48,153
‫D'accord.

77
00:02:48,153 --> 00:02:51,150
‫N'oubliez pas que nous passons ici l'emplacement du fichier, puis une

78
00:02:51,150 --> 00:02:52,480
‫fonction de rappel qui

79
00:02:52,480 --> 00:02:55,623
‫sera appelée dès que nous aurons fini de lire le fichier.

80
00:02:56,800 --> 00:02:58,420
‫Nous avons donc notre chaîne de modèle ici.

81
00:02:58,420 --> 00:03:01,733
‫Et puis nous utilisons un nom de répertoire comme nous le faisions auparavant.

82
00:03:02,820 --> 00:03:04,670
‫Donc le nom du répertoire courant.

83
00:03:07,778 --> 00:03:08,963
‫/chien. SMS.

84
00:03:11,040 --> 00:03:13,260
‫D'accord, puis notre fonction de rappel

85
00:03:13,260 --> 00:03:16,303
‫dont le premier argument est, comme toujours, une erreur.

86
00:03:19,490 --> 00:03:22,750
‫Et puis les données qui se trouvent réellement dans le fichier.

87
00:03:22,750 --> 00:03:23,940
‫Et juste pour être

88
00:03:23,940 --> 00:03:25,393
‫sûr, enregistrons-le bien sûr sur la console.

89
00:03:27,340 --> 00:03:28,530
‫Donc, une autre

90
00:03:28,530 --> 00:03:31,893
‫chaîne de modèle pour que nous puissions bien sortir nos données ici.

91
00:03:33,200 --> 00:03:34,200
‫D'accord.

92
00:03:34,200 --> 00:03:36,040
‫Démarrez le terminal ici

93
00:03:36,040 --> 00:03:37,620
‫et augmentez-le un

94
00:03:37,620 --> 00:03:38,870
‫peu.

95
00:03:40,120 --> 00:03:42,830
‫Et donc j'utilise nodemon comme je l'ai fait

96
00:03:42,830 --> 00:03:44,893
‫avant, puis index. js.

97
00:03:46,220 --> 00:03:48,400
‫Bon alors la race est retriever.

98
00:03:48,400 --> 00:03:51,270
‫Et c'est exactement ce que nous avons ici dans ce fichier.

99
00:03:51,270 --> 00:03:56,053
‫Bon alors le retriever est la race que nous recherchons.

100
00:03:57,390 --> 00:03:59,050
‫Maintenant, à l'intérieur de cette

101
00:03:59,050 --> 00:04:01,520
‫fonction de rappel, nous voulons faire cette requête

102
00:04:01,520 --> 00:04:03,340
‫HTTP dont nous venons de parler.

103
00:04:03,340 --> 00:04:05,360
‫Et il existe en fait des moyens

104
00:04:05,360 --> 00:04:06,660
‫de le faire avec

105
00:04:06,660 --> 00:04:07,980
‫des modules natifs sans JS.

106
00:04:07,980 --> 00:04:10,850
‫Mais il est plus facile d'utiliser simplement un package NPM pour cela.

107
00:04:10,850 --> 00:04:12,100
‫Et il y en a

108
00:04:12,100 --> 00:04:14,560
‫encore beaucoup, mais celui que nous allons utiliser s'appelle Super Agent.

109
00:04:14,560 --> 00:04:16,750
‫Plus tard, nous en utiliserons un

110
00:04:16,750 --> 00:04:20,710
‫autre, mais pour l'instant, Super Agent est parfait pour ça, d'accord.

111
00:04:20,710 --> 00:04:24,140
‫Et afin de télécharger réellement ce module en utilisant NPM, nous

112
00:04:24,140 --> 00:04:27,410
‫allons commencer par créer notre fichier de paquet Jason.

113
00:04:27,410 --> 00:04:28,940
‫Vous vous en souvenez ?

114
00:04:28,940 --> 00:04:31,120
‫Alors laissez-moi juste finir ceci et

115
00:04:31,120 --> 00:04:32,703
‫faire du NPM dedans.

116
00:04:33,780 --> 00:04:36,423
‫Et appuyez simplement sur Entrée sur tout cela.

117
00:04:37,340 --> 00:04:38,460
‫Cela n'a pas vraiment d'importance.

118
00:04:38,460 --> 00:04:39,293
‫D'accord.

119
00:04:39,293 --> 00:04:40,920
‫Nous voulons juste ce paquet. jason

120
00:04:40,920 --> 00:04:43,370
‫afin qu'il contienne réellement le nom du package

121
00:04:43,370 --> 00:04:44,290
‫que nous utilisons.

122
00:04:44,290 --> 00:04:47,130
‫Donc, nous le faisons toujours chaque fois que nous commençons un nouveau projet.

123
00:04:47,130 --> 00:04:48,630
‫Et maintenant, installez NPM, ou

124
00:04:48,630 --> 00:04:52,240
‫nous pouvons simplement utiliser le I, qui est le même, puis le

125
00:04:52,240 --> 00:04:53,490
‫nom du package.

126
00:04:53,490 --> 00:04:55,023
‫Alors rien de nouveau, n'est-ce pas ?

127
00:04:58,510 --> 00:04:59,840
‫Maintenant, pour utiliser

128
00:04:59,840 --> 00:05:01,270
‫ce package, nous créons

129
00:05:01,270 --> 00:05:04,200
‫une nouvelle variable qui contiendra ensuite la fonction Super

130
00:05:04,200 --> 00:05:06,473
‫Agent que ce module nous expose.

131
00:05:16,410 --> 00:05:19,350
‫Allons de l'avant et utilisons réellement cette fonction

132
00:05:19,350 --> 00:05:20,320
‫Super Agent.

133
00:05:20,320 --> 00:05:22,180
‫Donc, pour faire une requête get,

134
00:05:22,180 --> 00:05:24,363
‫nous avons simplement utilisé la méthode get dessus.

135
00:05:25,400 --> 00:05:28,400
‫Alors récupérez et nous avons besoin de cette URL.

136
00:05:28,400 --> 00:05:31,860
‫Bon alors celui-ci que je vous ai montré avant.

137
00:05:31,860 --> 00:05:32,880
‫Il suffit donc de

138
00:05:33,870 --> 00:05:34,970
‫le copier et de le coller

139
00:05:35,980 --> 00:05:37,110
‫ici dans une chaîne de modèle.

140
00:05:37,110 --> 00:05:39,870
‫Parce que maintenant nous allons remplacer

141
00:05:39,870 --> 00:05:41,830
‫cette race ici.

142
00:05:41,830 --> 00:05:43,430
‫D'accord, donc nous ne

143
00:05:43,430 --> 00:05:45,250
‫voulons pas cela, mais nous voulons

144
00:05:45,250 --> 00:05:47,840
‫plutôt l'utiliser, celui que nous obtenons de notre fichier.

145
00:05:47,840 --> 00:05:49,920
‫Donc, dans ce cas, il s'agit de données.

146
00:05:49,920 --> 00:05:50,790
‫Droit?

147
00:05:50,790 --> 00:05:51,750
‫Et ainsi,

148
00:05:51,750 --> 00:05:55,160
‫nous pouvons réellement faire une requête HTTP get.

149
00:05:55,160 --> 00:05:57,510
‫Maintenant, pour obtenir les données,

150
00:05:57,510 --> 00:06:01,970
‫nous devrons également utiliser la méthode end à ce sujet.

151
00:06:01,970 --> 00:06:04,090
‫Et c'est là que nous allons passer la

152
00:06:04,090 --> 00:06:05,240
‫fonction de rappel.

153
00:06:07,210 --> 00:06:09,060
‫Donc, encore une fois, c'est une erreur

154
00:06:09,060 --> 00:06:10,500
‫d'abord de rappeler, puis

155
00:06:10,500 --> 00:06:12,000
‫nous transmettons également le résultat.

156
00:06:12,900 --> 00:06:14,660
‫Et donc dans cette

157
00:06:14,660 --> 00:06:15,920
‫fonction, enregistrons

158
00:06:15,920 --> 00:06:18,620
‫tout d'abord le résultat dans la console.

159
00:06:18,620 --> 00:06:21,920
‫Les données que nous obtenons sont donc dans la variable de réponse.

160
00:06:21,920 --> 00:06:22,997
‫Alors celui-ci ici.

161
00:06:22,997 --> 00:06:25,960
‫Et puis là-dessus, c'est le corps.

162
00:06:25,960 --> 00:06:29,430
‫C'est donc là que se trouve la réponse réelle.

163
00:06:29,430 --> 00:06:31,830
‫Bon, maintenant allons-y et testons cela.

164
00:06:32,780 --> 00:06:35,180
‫Et maintenant, avec cette sauvegarde ici, il est en fait descendu.

165
00:06:35,180 --> 00:06:36,420
‫Encore une fois,

166
00:06:36,420 --> 00:06:39,850
‫c'est à cause de l'extension précédente que nous avons configurée plus tôt.

167
00:06:39,850 --> 00:06:41,170
‫Et peut-être avez-vous également

168
00:06:41,170 --> 00:06:44,520
‫remarqué comment il a remplacé les guillemets normaux que j'avais

169
00:06:44,520 --> 00:06:45,560
‫ici par

170
00:06:45,560 --> 00:06:48,810
‫ces guillemets doubles et a également inséré le point-virgule ici.

171
00:06:48,810 --> 00:06:50,610
‫Et en fait, dans la dernière

172
00:06:50,610 --> 00:06:52,110
‫section, ou dans l'une

173
00:06:52,110 --> 00:06:54,130
‫des dernières sections, nous l'avons configuré de

174
00:06:54,130 --> 00:06:56,180
‫manière à toujours avoir les guillemets simples.

175
00:06:56,180 --> 00:06:58,530
‫Et donc afin de garder notre code

176
00:06:58,530 --> 00:07:00,060
‫cohérent ici, allons-y

177
00:07:00,060 --> 00:07:03,760
‫et créons très rapidement le plus joli fichier de configuration.

178
00:07:03,760 --> 00:07:05,293
‫Alors n'oubliez pas que c'est jolirc.

179
00:07:08,320 --> 00:07:10,343
‫Ensuite, nous avons une guillemet simple.

180
00:07:11,670 --> 00:07:13,023
‫Réglez-le sur vrai.

181
00:07:14,470 --> 00:07:17,063
‫Et n'oubliez pas la largeur d'impression.

182
00:07:19,140 --> 00:07:20,990
‫Et mettez-le à 80.

183
00:07:20,990 --> 00:07:22,373
‫D'accord, sauvez-le.

184
00:07:23,450 --> 00:07:24,520
‫Enregistrez à nouveau celui-ci.

185
00:07:24,520 --> 00:07:27,800
‫Et donc, vous voyez, nous avons maintenant de retour nos guillemets simples.

186
00:07:27,800 --> 00:07:30,380
‫Donc ça a l'air beaucoup plus joli à mon avis.

187
00:07:30,380 --> 00:07:32,630
‫Encore une fois, si vous ne l'aimez pas de

188
00:07:32,630 --> 00:07:35,000
‫cette façon, vous pouvez bien sûr utiliser vos propres paramètres.

189
00:07:35,000 --> 00:07:36,090
‫D'accord.

190
00:07:36,090 --> 00:07:36,923
‫Quoi qu'il

191
00:07:36,923 --> 00:07:38,780
‫en soit, ce morceau de code

192
00:07:38,780 --> 00:07:41,130
‫ici devrait déjà faire la requête HTTP.

193
00:07:41,130 --> 00:07:41,963
‫Alors

194
00:07:41,963 --> 00:07:43,143
‫testons-le simplement.

195
00:07:45,980 --> 00:07:46,910
‫Et en

196
00:07:46,910 --> 00:07:49,530
‫effet, nous avons en fait cette image ici.

197
00:07:49,530 --> 00:07:50,710
‫Donc en fait,

198
00:07:50,710 --> 00:07:52,660
‫ce que nous voulons, c'est à l'intérieur

199
00:07:52,660 --> 00:07:54,700
‫de ce copain dans la propriété message.

200
00:07:54,700 --> 00:07:55,533
‫Donc point

201
00:07:56,460 --> 00:07:57,293
‫message.

202
00:07:57,293 --> 00:07:58,390
‫Alors juste comme ça.

203
00:07:58,390 --> 00:08:02,390
‫Et donc ici, nous avons notre image de retriever.

204
00:08:02,390 --> 00:08:05,190
‫Allons de l'avant et changeons réellement la race ici.

205
00:08:05,190 --> 00:08:06,660
‫Et je ne suis pas vraiment douée avec les chiens.

206
00:08:06,660 --> 00:08:09,890
‫Utilisons ici cette race que je connais,

207
00:08:09,890 --> 00:08:10,860
‫le Labrador.

208
00:08:10,860 --> 00:08:12,460
‫Je ne sais même pas comment le dire.

209
00:08:15,470 --> 00:08:16,630
‫Mais je pense

210
00:08:16,630 --> 00:08:18,210
‫que c'est ça, ça existe.

211
00:08:18,210 --> 00:08:20,200
‫Faisons encore une sauvegarde ici.

212
00:08:20,200 --> 00:08:22,520
‫Et maintenant nous avons une autre image.

213
00:08:22,520 --> 00:08:24,730
‫Nous pouvons en fait cliquer ici et

214
00:08:24,730 --> 00:08:26,913
‫cela ouvrira cette image pour nous.

215
00:08:29,790 --> 00:08:30,623
‫D'accord.

216
00:08:30,623 --> 00:08:33,590
‫Donc, pour faire cette requête HTTP ici, nous avions besoin

217
00:08:33,590 --> 00:08:35,660
‫des données que nous avions auparavant.

218
00:08:35,660 --> 00:08:37,280
‫Donc cette donnée.

219
00:08:37,280 --> 00:08:39,890
‫Et nous devions donc faire cette demande ici à l'intérieur

220
00:08:39,890 --> 00:08:42,250
‫de cette fonction de rappel de la fonction de

221
00:08:42,250 --> 00:08:44,150
‫lecture de fichier, n'est-ce pas ?

222
00:08:44,150 --> 00:08:46,630
‫Et donc vous avez déjà une fonction de rappel ici.

223
00:08:46,630 --> 00:08:48,883
‫Donc celui-ci à l'intérieur d'un rappel.

224
00:08:49,810 --> 00:08:52,000
‫Mais maintenant, nous allons en ajouter un autre.

225
00:08:52,000 --> 00:08:54,600
‫Parce que maintenant nous voulons enregistrer cette chaîne ici

226
00:08:54,600 --> 00:08:56,300
‫dans un nouveau fichier texte.

227
00:08:56,300 --> 00:08:57,870
‫Et donc nous allons le faire ici.

228
00:08:57,870 --> 00:09:00,010
‫Et puis cela aura encore une autre

229
00:09:00,010 --> 00:09:01,270
‫fonction de rappel.

230
00:09:01,270 --> 00:09:02,243
‫D'accord, ça a du sens ?

231
00:09:03,750 --> 00:09:04,583
‫Donc fs

232
00:09:05,607 --> 00:09:06,440
‫writefile

233
00:09:07,333 --> 00:09:09,580
‫puis le nom du fichier.

234
00:09:09,580 --> 00:09:12,990
‫Appelons cela une image de chien. texte.

235
00:09:12,990 --> 00:09:15,440
‫Ensuite, les données que nous voulons enregistrer dans ce fichier

236
00:09:15,440 --> 00:09:18,430
‫qui est au repos. corps. un message.

237
00:09:18,430 --> 00:09:19,800
‫Et puis la fonction de rappel.

238
00:09:19,800 --> 00:09:21,960
‫Et celui-ci n'aura bien sûr aucune donnée,

239
00:09:21,960 --> 00:09:23,853
‫mais nous avons à nouveau l'erreur.

240
00:09:28,500 --> 00:09:30,390
‫Enregistrons quelque chose sur la console

241
00:09:30,390 --> 00:09:32,140
‫comme une image de chien aléatoire

242
00:09:32,140 --> 00:09:33,733
‫enregistrée dans un fichier.

243
00:09:35,930 --> 00:09:38,010
‫Faites-lui une sauvegarde, il

244
00:09:38,860 --> 00:09:41,950
‫sera ensuite réexécuté et voici notre fichier image.

245
00:09:41,950 --> 00:09:44,030
‫Et en fait, vous pouvez voir que

246
00:09:44,030 --> 00:09:46,373
‫le code VS affiche cette image ici pour nous.

247
00:09:48,060 --> 00:09:50,090
‫Donnez-lui une autre sauvegarde ici,

248
00:09:50,090 --> 00:09:52,210
‫il réexécutera ensuite notre code et

249
00:09:52,210 --> 00:09:54,420
‫maintenant nous avons, en effet, nous

250
00:09:54,420 --> 00:09:56,290
‫avons une image différente.

251
00:09:56,290 --> 00:09:57,230
‫D'accord.

252
00:09:57,230 --> 00:10:00,000
‫Donc, notre code fonctionne réellement.

253
00:10:00,000 --> 00:10:02,050
‫Ajoutons simplement un petit handle d'erreur ici au

254
00:10:02,050 --> 00:10:03,943
‫cas où quelque chose se passe mal.

255
00:10:04,830 --> 00:10:08,593
‫Par exemple, disons que nous ajoutons un nom étrange ici.

256
00:10:10,050 --> 00:10:11,120
‫Exécutez cela à nouveau.

257
00:10:11,120 --> 00:10:13,860
‫Et donc pour le moment, il ne sera pas en mesure de trouver une

258
00:10:13,860 --> 00:10:14,700
‫image pour cela.

259
00:10:14,700 --> 00:10:17,683
‫Et cela entraînera en fait une erreur ici.

260
00:10:18,620 --> 00:10:19,620
‫Donc, nous devrions toujours

261
00:10:19,620 --> 00:10:22,300
‫faire ce genre de gestion des erreurs au début

262
00:10:22,300 --> 00:10:23,290
‫et le

263
00:10:23,290 --> 00:10:24,943
‫dire s'il y avait une

264
00:10:27,060 --> 00:10:29,010
‫erreur, et nous pouvons simplement enregistrer l'erreur. un message.

265
00:10:30,247 --> 00:10:31,830
‫Et en fait il faut aussi dire

266
00:10:31,830 --> 00:10:34,670
‫qu'on veut revenir tout de suite de cette fonction s'il y a une erreur.

267
00:10:34,670 --> 00:10:37,330
‫Donc, il reviendra et se connectera à

268
00:10:37,330 --> 00:10:39,450
‫la console, cette erreur.

269
00:10:39,450 --> 00:10:41,550
‫Et rien d'autre ne se passera alors.

270
00:10:41,550 --> 00:10:43,840
‫D'accord.

271
00:10:43,840 --> 00:10:45,140
‫Donc il dit encore, introuvable ici.

272
00:10:45,140 --> 00:10:46,920
‫Et cela n'a rien enregistré dans

273
00:10:46,920 --> 00:10:49,770
‫le fichier car nous sommes déjà revenus de la fonction ici.

274
00:10:49,770 --> 00:10:52,870
‫D'accord?

275
00:10:52,870 --> 00:10:53,703
‫Et la même chose en fait ici au

276
00:10:53,703 --> 00:10:55,250
‫cas où il y aurait une erreur lors de l'enregistrement du fichier sur le disque.

277
00:10:55,250 --> 00:10:59,513
‫Revenons ici, donnez-lui une autre

278
00:11:00,870 --> 00:11:02,173
‫sauvegarde.

279
00:11:03,670 --> 00:11:04,780
‫Et maintenant, cela fonctionne à nouveau très bien.

280
00:11:04,780 --> 00:11:07,923
‫D'accord.

281
00:11:08,860 --> 00:11:09,693
‫Ce n'est donc

282
00:11:09,693 --> 00:11:10,526
‫qu'un petit exemple

283
00:11:10,526 --> 00:11:13,100
‫pour vous montrer à quel point il est facile de se

284
00:11:13,100 --> 00:11:15,770
‫retrouver avec des rappels à l'intérieur des rappels à l'intérieur des rappels.

285
00:11:15,770 --> 00:11:17,100
‫Et c'est bien sûr parce que, on

286
00:11:17,100 --> 00:11:18,390
‫sait déjà que dans Note

287
00:11:18,390 --> 00:11:20,400
‫JS, il faut toujours utiliser du code asynchrone, non ?

288
00:11:20,400 --> 00:11:23,160
‫Nous avons fini par utiliser des rappels à

289
00:11:23,160 --> 00:11:25,870
‫l'intérieur des rappels à l'intérieur des rappels.

290
00:11:25,870 --> 00:11:27,090
‫Et parfois, cela peut

291
00:11:27,090 --> 00:11:30,170
‫aller encore plus loin bien sûr que ce que nous avons ici.

292
00:11:30,170 --> 00:11:31,003
‫Vous pouvez bien

293
00:11:31,003 --> 00:11:33,010
‫sûr avoir 10 niveaux les uns dans les autres.

294
00:11:33,010 --> 00:11:34,600
‫Maintenant, tous ces rappels

295
00:11:34,600 --> 00:11:36,230
‫rendent notre code un peu désordonné.

296
00:11:36,230 --> 00:11:38,920
‫Cela le rend difficile à comprendre et aussi

297
00:11:38,920 --> 00:11:40,760
‫en général, difficile à maintenir.

298
00:11:40,760 --> 00:11:43,680
‫Encore une fois peut-être pas à ce niveau avec seulement trois rappels

299
00:11:43,680 --> 00:11:45,050
‫les uns dans les autres.

300
00:11:45,050 --> 00:11:48,200
‫Mais si nous l'avions encore plus imbriqué, cela

301
00:11:48,200 --> 00:11:50,300
‫pourrait rapidement devenir un

302
00:11:50,300 --> 00:11:53,080
‫cauchemar de maintenir un code comme celui-ci.

303
00:11:53,080 --> 00:11:54,920
‫Et c'est pourquoi ce modèle

304
00:11:54,920 --> 00:11:56,840
‫a été appelé rappel de l'enfer.

305
00:11:56,840 --> 00:11:58,200
‫Il est

306
00:11:58,200 --> 00:12:01,450
‫facile d'identifier cette forme triangulaire dans notre code.

307
00:12:01,450 --> 00:12:02,283
‫C'est ce que nous avons ici.

308
00:12:02,283 --> 00:12:04,050
‫Comme cette sorte de forme triangulaire.

309
00:12:04,050 --> 00:12:07,170
‫Chaque fois que vous voyez cela, c'est un signe

310
00:12:07,170 --> 00:12:08,620
‫que vous êtes

311
00:12:08,620 --> 00:12:10,100
‫essentiellement en enfer de rappel.

312
00:12:10,100 --> 00:12:11,970
‫D'accord?

313
00:12:11,970 --> 00:12:12,803
‫Et vous verrez

314
00:12:12,803 --> 00:12:15,160
‫ou entendrez peut-être ce terme lorsque vous ferez des recherches

315
00:12:15,160 --> 00:12:17,100
‫sur Note JS ou quelque chose comme ça.

316
00:12:17,100 --> 00:12:19,000
‫Mais pour le moment, c'est en fait la seule

317
00:12:19,000 --> 00:12:21,200
‫façon dont nous connaissons la façon d'écrire du code asynchrone

318
00:12:21,200 --> 00:12:22,140
‫à ce stade.

319
00:12:22,140 --> 00:12:25,350
‫Mais nous allons garder cela dans le reste de

320
00:12:25,350 --> 00:12:26,890
‫cette petite section.

321
00:12:26,890 --> 00:12:29,120
‫Nous allons donc apprendre à utiliser

322
00:12:29,120 --> 00:12:30,810
‫quelque chose appelé Promesses.

323
00:12:30,810 --> 00:12:32,550
‫Et cela résoudra finalement notre

324
00:12:32,550 --> 00:12:33,820
‫problème et rendra

325
00:12:33,820 --> 00:12:37,080
‫notre code plus facile à lire et à maintenir.

326
00:12:37,080 --> 00:12:38,570
‫Allons donc le faire dans le reste de la section.

