﻿1
00:00:01,210 --> 00:00:02,370
‫Instructeur : Vous

2
00:00:02,370 --> 00:00:03,980
‫avez donc déjà appris à utiliser

3
00:00:03,980 --> 00:00:05,970
‫un Async/Await, mais il y a en fait

4
00:00:05,970 --> 00:00:09,240
‫un peu plus à apprendre sur le fonctionnement réel des fonctions Async.

5
00:00:09,240 --> 00:00:10,613
‫Alors faisons-le maintenant.

6
00:00:12,140 --> 00:00:15,080
‫Afin de comprendre un peu mieux ce qui se passe ici,

7
00:00:15,080 --> 00:00:18,330
‫essayons simplement d'ajouter une console. logs après et

8
00:00:18,330 --> 00:00:21,333
‫avant d'appeler les fonctions Async ici.

9
00:00:22,640 --> 00:00:24,520
‫Bon, consolez-vous. log

10
00:00:26,310 --> 00:00:27,940
‫Donc, la première étape

11
00:00:29,686 --> 00:00:31,383
‫consistera à obtenir des photos

12
00:00:32,340 --> 00:00:33,360
‫de chiens, d'accord.

13
00:00:33,360 --> 00:00:34,763
‫Et puis le numéro deux.

14
00:00:36,690 --> 00:00:37,730
‫Ici,

15
00:00:37,730 --> 00:00:42,410
‫disons simplement, fini de prendre des photos de chien.

16
00:00:42,410 --> 00:00:44,433
‫D'accord. Alors faisons une sauvegarde.

17
00:00:45,460 --> 00:00:47,570
‫Et whoa, qu'est-ce qui s'est passé ici.

18
00:00:47,570 --> 00:00:50,160
‫Nous avons ces deux consoles. logs avant

19
00:00:50,160 --> 00:00:54,120
‫tous les logs provenant de la fonction Async.

20
00:00:54,120 --> 00:00:56,346
‫Nous avons donc un, deux pour celui-ci

21
00:00:56,346 --> 00:00:57,900
‫et celui-ci et seulement

22
00:00:57,900 --> 00:00:59,610
‫après cela, nous avons les journaux

23
00:00:59,610 --> 00:01:01,530
‫provenant de la photo du chien.

24
00:01:01,530 --> 00:01:03,290
‫C'est ce que vous attendiez ?

25
00:01:03,290 --> 00:01:06,320
‫Si non, analysons ce qui s'est passé ici.

26
00:01:06,320 --> 00:01:09,650
‫Eh bien, comme je vous l'ai déjà dit, cette fonction

27
00:01:09,650 --> 00:01:11,940
‫Async s'exécute en fait en arrière-plan.

28
00:01:11,940 --> 00:01:15,160
‫Parce que c'est ainsi que les fonctions Async sont

29
00:01:15,160 --> 00:01:17,150
‫simplement censées se comporter.

30
00:01:17,150 --> 00:01:18,960
‫N'est-ce pas, c'est tout à fait logique ?

31
00:01:18,960 --> 00:01:21,623
‫Nous ne pouvons donc pas simplement arrêter le code ici.

32
00:01:22,470 --> 00:01:24,920
‫Ainsi, dès que nous appuyons sur cette

33
00:01:24,920 --> 00:01:29,440
‫fonction, nous ne pouvons pas simplement arrêter l'exécution de notre thread principal ici.

34
00:01:29,440 --> 00:01:30,273
‫Droit?

35
00:01:30,273 --> 00:01:32,750
‫Et c'est toute la philosophie de ne pas bloquer

36
00:01:32,750 --> 00:01:34,120
‫le journal des événements.

37
00:01:34,120 --> 00:01:37,270
‫Nous avons donc besoin d'obtenir des photos de chiens de l'API,

38
00:01:37,270 --> 00:01:40,550
‫mais ce n'est pas une excuse pour arrêter l'exécution sur le code.

39
00:01:40,550 --> 00:01:42,840
‫Donc pour bloquer le journal des événements.

40
00:01:42,840 --> 00:01:45,770
‫Ainsi, lorsque le moteur de script Java a cessé,

41
00:01:45,770 --> 00:01:48,480
‫cette ligne de code ici, déchargera simplement la

42
00:01:48,480 --> 00:01:51,220
‫fonction get dog pic en arrière-plan et passera

43
00:01:51,220 --> 00:01:53,230
‫directement à la ligne suivante.

44
00:01:53,230 --> 00:01:55,850
‫Donc cette deuxième console. connectez-vous ici.

45
00:01:55,850 --> 00:01:59,890
‫Il est donc logique que cette chaîne soit d'abord enregistrée, puis

46
00:01:59,890 --> 00:02:01,990
‫elle commencera à exécuter cette fonction,

47
00:02:01,990 --> 00:02:05,270
‫puis elle enregistrera immédiatement cette ligne de code et

48
00:02:05,270 --> 00:02:08,470
‫en attendant, nous lisons ce fichier en arrière-plan, et

49
00:02:08,470 --> 00:02:10,390
‫dès que c'est prêt, il

50
00:02:10,390 --> 00:02:13,370
‫commencera à imprimer ce journal, ce journal et

51
00:02:13,370 --> 00:02:14,920
‫aussi ce journal.

52
00:02:14,920 --> 00:02:16,340
‫C'est donc exactement ce qui se passe ici.

53
00:02:16,340 --> 00:02:19,760
‫Un deux, puis les trois restants.

54
00:02:19,760 --> 00:02:21,550
‫Avoir du sens ? D'accord.

55
00:02:21,550 --> 00:02:24,210
‫Allons plus loin et

56
00:02:24,210 --> 00:02:28,500
‫renvoyons en fait quelque chose de notre fonction Async.

57
00:02:28,500 --> 00:02:31,673
‫Je change donc cela ici en trois, pour qu'à

58
00:02:31,673 --> 00:02:34,740
‫partir de cette fonction, nous puissions renvoyer une

59
00:02:35,590 --> 00:02:40,570
‫chaîne qui dit deux, eh bien disons prêt et puis ajoutons ici à

60
00:02:40,570 --> 00:02:43,410
‫nouveau un emoji ici pour le

61
00:02:43,410 --> 00:02:46,430
‫faire apparaître un peu plus dans notre console.

62
00:02:46,430 --> 00:02:47,853
‫Alors prêt ici.

63
00:02:48,770 --> 00:02:51,063
‫Et puis gardons ça.

64
00:02:53,100 --> 00:02:55,883
‫Simplement une variable, peu importe ce que c'est.

65
00:02:59,040 --> 00:03:01,520
‫Et puis connectez x à la console.

66
00:03:01,520 --> 00:03:03,260
‫Voyons donc ce qui se passe.

67
00:03:03,260 --> 00:03:06,050
‫Et puis maintenant, nous obtenons cette promesse étrange

68
00:03:06,050 --> 00:03:10,800
‫en attente au lieu de la chaîne ici à laquelle nous nous attendions peut-être.

69
00:03:10,800 --> 00:03:14,180
‫Alors pourquoi x est-il ici et pas cette chaîne,

70
00:03:14,180 --> 00:03:16,330
‫mais cette promesse ici ?

71
00:03:16,330 --> 00:03:19,310
‫Eh bien, rappelez-vous comment j'ai dit au début

72
00:03:19,310 --> 00:03:21,860
‫de la dernière vidéo qu'une fonction

73
00:03:21,860 --> 00:03:24,630
‫Async renvoie en fait une promesse automatiquement ?

74
00:03:24,630 --> 00:03:27,490
‫Eh bien, voici donc la preuve pour cela.

75
00:03:27,490 --> 00:03:30,830
‫Ainsi, au lieu de se connecter à la console à ce stade, cela

76
00:03:30,830 --> 00:03:33,670
‫nous dit simplement que x est une promesse qui est toujours

77
00:03:33,670 --> 00:03:35,730
‫en cours d'exécution à ce stade, et

78
00:03:35,730 --> 00:03:36,950
‫donc toujours en attente.

79
00:03:36,950 --> 00:03:39,140
‫C'est pourquoi il est dit en attente ici.

80
00:03:39,140 --> 00:03:42,460
‫Ainsi, le script Java ne peut bien sûr pas savoir que x

81
00:03:42,460 --> 00:03:45,390
‫sera cette chaîne prête ici à un moment donné.

82
00:03:45,390 --> 00:03:48,350
‫Et ainsi, il passe simplement à la console suivante. log comme

83
00:03:48,350 --> 00:03:50,870
‫nous en avions discuté auparavant.

84
00:03:50,870 --> 00:03:53,380
‫Et au moment où JavaScript sait réellement que

85
00:03:53,380 --> 00:03:57,176
‫ce x ici devrait être la contrainte que nous avons bien renvoyée

86
00:03:57,176 --> 00:03:59,480
‫à ce stade, ce code ici a

87
00:03:59,480 --> 00:04:01,570
‫depuis longtemps fini de s'exécuter.

88
00:04:01,570 --> 00:04:04,160
‫Mais que devrions-nous faire si nous voulions

89
00:04:04,160 --> 00:04:06,860
‫réellement obtenir cette valeur de retour ici ?

90
00:04:06,860 --> 00:04:09,930
‫Et si nous voulions vraiment renvoyer cette chaîne et

91
00:04:09,930 --> 00:04:11,950
‫l'enregistrer via la console ?

92
00:04:11,950 --> 00:04:14,670
‫Eh bien, nous devrions traiter cette fonction Async

93
00:04:14,670 --> 00:04:15,980
‫comme une promesse.

94
00:04:15,980 --> 00:04:18,310
‫Et donc nous utiliserions la

95
00:04:18,310 --> 00:04:21,080
‫méthode DEN dessus ou encore, utiliserions Async/Await.

96
00:04:21,080 --> 00:04:23,510
‫Laissez-moi vous montrer comment faire cela.

97
00:04:23,510 --> 00:04:27,840
‫Ainsi, au lieu d'essayer d'enregistrer la valeur renvoyée

98
00:04:27,840 --> 00:04:32,513
‫dans une variable, nous pouvons utiliser la méthode DEN dessus.

99
00:04:34,400 --> 00:04:37,113
‫Et voici donc où nous pouvons alors l'appeler x.

100
00:04:38,750 --> 00:04:43,157
‫Alors consolez-vous. log x donc comme ce que nous avions

101
00:04:43,157 --> 00:04:45,850
‫ici et ensuite nous ferions également celui-ci à l'intérieur de

102
00:04:45,850 --> 00:04:47,513
‫la poignée DEN, d'accord ?

103
00:04:48,511 --> 00:04:49,920
‫Passons donc en revue ce que nous avons fait ici.

104
00:04:49,920 --> 00:04:53,550
‫Alors, obtenir une photo de chien renvoie une promesse, vous vous en souvenez?

105
00:04:53,550 --> 00:04:57,760
‫Et donc chacun que nous avons une promesse, nous utilisons la méthode

106
00:04:57,760 --> 00:05:00,690
‫DEN afin d'avoir accès à sa valeur future.

107
00:05:00,690 --> 00:05:04,120
‫Donc la valeur qui finira par revenir.

108
00:05:04,120 --> 00:05:08,050
‫Dans ce cas, ce sera la chaîne de deux prêts.

109
00:05:08,050 --> 00:05:08,883
‫D'accord?

110
00:05:08,883 --> 00:05:10,540
‫Et donc si vous voulez obtenir

111
00:05:10,540 --> 00:05:14,520
‫x à cela, nous devons utiliser la méthode DEN comme nous venons de le faire ici.

112
00:05:14,520 --> 00:05:17,370
‫Et seulement après cela, nous pouvons alors enregistrer

113
00:05:17,370 --> 00:05:19,218
‫la troisième chaîne ici.

114
00:05:19,218 --> 00:05:21,010
‫Donc, si nous lui donnons une

115
00:05:21,010 --> 00:05:23,760
‫sauvegarde maintenant comme celle-ci, cela devrait alors fonctionner comme prévu.

116
00:05:23,760 --> 00:05:24,890
‫Et oui c'est le cas.

117
00:05:24,890 --> 00:05:28,420
‫Nous avons donc notre premier log, puis tous les

118
00:05:28,420 --> 00:05:32,120
‫logs venant de notre fonction Async, puis le ready

119
00:05:32,120 --> 00:05:34,795
‫venant de la ligne 42 ici.

120
00:05:34,795 --> 00:05:36,530
‫Et enfin, le numéro 3. Parfait.

121
00:05:36,530 --> 00:05:39,083
‫Et j'espère que cela a un sens pour vous.

122
00:05:40,416 --> 00:05:43,530
‫Maintenant, que se passe-t-il s'il y a réellement eu une erreur ?

123
00:05:43,530 --> 00:05:45,853
‫Eh bien, c'est un peu plus difficile à gérer.

124
00:05:47,149 --> 00:05:50,410
‫Alors encore une fois, provoquons une erreur comme nous l'avons fait auparavant.

125
00:05:50,410 --> 00:05:54,020
‫Mais vous voyez qu'en fait, nous entrons toujours dans

126
00:05:54,020 --> 00:05:55,630
‫la méthode DEN ici.

127
00:05:55,630 --> 00:05:58,640
‫Donc ce bloc ici, d'accord.

128
00:05:58,640 --> 00:06:03,230
‫Donc, même s'il y avait une erreur ici dans cette promesse,

129
00:06:03,230 --> 00:06:06,980
‫elle se résout fondamentalement comme une promesse réussie.

130
00:06:06,980 --> 00:06:09,720
‫Il renvoie donc toujours cette valeur ici.

131
00:06:09,720 --> 00:06:12,560
‫Et même si nous ajoutons notre gestionnaire de captures ici,

132
00:06:12,560 --> 00:06:14,373
‫cela ne changera pas ce fait.

133
00:06:16,040 --> 00:06:18,317
‫D'accord, alors utilisons catch ici,

134
00:06:22,760 --> 00:06:26,620
‫puis utilisons console. log et enregistrez l'erreur ici

135
00:06:26,620 --> 00:06:30,300
‫afin que vous puissiez voir qu'il n'a toujours enregistré aucune erreur.

136
00:06:30,300 --> 00:06:33,620
‫Et c'est encore parce que cette promesse ici

137
00:06:33,620 --> 00:06:36,270
‫provenant de cette fonction Async sera

138
00:06:36,270 --> 00:06:38,410
‫toujours marquée comme réussie.

139
00:06:38,410 --> 00:06:41,170
‫Mais si vous vouliez vraiment le marquer comme

140
00:06:41,170 --> 00:06:44,450
‫rejeté, nous devrons faire quelque chose appelé lancer une erreur.

141
00:06:44,450 --> 00:06:46,660
‫Faisons-le donc ici dans ce bloc catch.

142
00:06:46,660 --> 00:06:50,250
‫Donc, s'il y a eu une erreur, nous voulons non seulement

143
00:06:50,250 --> 00:06:53,183
‫l'enregistrer sur la console, mais aussi la lancer.

144
00:06:54,830 --> 00:06:59,123
‫Nous utilisons donc une fonction JavaScript intégrée appelée throw.

145
00:07:00,080 --> 00:07:02,460
‫Et avec cela, nous pouvons lancer une erreur.

146
00:07:02,460 --> 00:07:06,680
‫Cela marquera donc maintenant toute cette fonction de cette promesse

147
00:07:06,680 --> 00:07:07,693
‫comme rejetée.

148
00:07:08,600 --> 00:07:09,540
‫D'accord.

149
00:07:09,540 --> 00:07:12,570
‫En fait, ne nous contentons pas de consigner

150
00:07:12,570 --> 00:07:17,210
‫cette erreur, faisons simplement une erreur pour la rendre un peu plus visible,

151
00:07:17,210 --> 00:07:19,932
‫et quelque chose comme une explosion peut-être.

152
00:07:19,932 --> 00:07:20,843
‫Ouais, quelque chose comme ça.

153
00:07:22,250 --> 00:07:26,130
‫D'accord, et faisons une sauvegarde pour voir ce qui se passe.

154
00:07:26,130 --> 00:07:29,380
‫Et bam, alors maintenant nous avons notre erreur ici en fait.

155
00:07:29,380 --> 00:07:31,840
‫Il est donc dit que je n'ai pas

156
00:07:31,840 --> 00:07:34,480
‫pu trouver ce fichier, donc ce journal provient de

157
00:07:34,480 --> 00:07:38,250
‫ce journal de capture ici, mais en même temps, il générera une erreur.

158
00:07:38,250 --> 00:07:40,800
‫Et s'il génère une erreur, cela marquera

159
00:07:40,800 --> 00:07:43,330
‫alors toute cette promesse comme rejetée.

160
00:07:43,330 --> 00:07:47,410
‫Et c'est pourquoi nous entrons ensuite dans le journal des captures ici.

161
00:07:47,410 --> 00:07:50,290
‫Ce qui déclenchera alors, bien entendu à son

162
00:07:50,290 --> 00:07:52,690
‫tour, cette console. log de cette erreur.

163
00:07:52,690 --> 00:07:53,523
‫D'accord?

164
00:07:53,523 --> 00:07:56,850
‫Et c'est bien sûr une toute nouvelle couche de complexité.

165
00:07:56,850 --> 00:07:58,240
‫D'accord.

166
00:07:58,240 --> 00:08:00,900
‫Mais il est toujours très important de comprendre comment cela fonctionne, car

167
00:08:00,900 --> 00:08:03,250
‫cela se produit tout le temps dans la vraie vie.

168
00:08:03,250 --> 00:08:06,160
‫Nous devons donc renvoyer les valeurs des fonctions Async

169
00:08:06,160 --> 00:08:08,800
‫tout le temps et il est donc

170
00:08:08,800 --> 00:08:11,880
‫important de savoir comment gérer réellement ces valeurs renvoyées.

171
00:08:11,880 --> 00:08:15,100
‫Dans ce cas, utilisez DEN et catch.

172
00:08:15,100 --> 00:08:17,550
‫Maintenant, le problème avec ceci est qu'il

173
00:08:17,550 --> 00:08:19,610
‫mélange les promesses avec Async/Await.

174
00:08:19,610 --> 00:08:21,780
‫Nous avons donc Async/Await ici, puis

175
00:08:21,780 --> 00:08:24,400
‫tout d'un coup, nous revenons à l'utilisation

176
00:08:24,400 --> 00:08:26,440
‫de DEN et rattrapons ici.

177
00:08:26,440 --> 00:08:30,020
‫Alors laissez-moi vous montrer un autre modèle de le faire.

178
00:08:30,020 --> 00:08:32,830
‫D'accord, alors entrons dans notre partie ici,

179
00:08:32,830 --> 00:08:35,630
‫pas par ici, plutôt comme ça.

180
00:08:35,630 --> 00:08:39,460
‫Et donc utilisons Async/Await pour implémenter cette logique.

181
00:08:39,460 --> 00:08:42,380
‫Maintenant, nous ne voulons pas créer une toute nouvelle fonction de nom

182
00:08:42,380 --> 00:08:45,200
‫pour cela, et nous allons donc utiliser un modèle bien connu

183
00:08:45,200 --> 00:08:47,140
‫que j'espère que vous connaissez, qui

184
00:08:47,140 --> 00:08:49,730
‫est un IIFE, donc une expression de fonction immédiatement invoquée.

185
00:08:49,730 --> 00:08:53,363
‫D'accord, donc entre parenthèses, nous définissons notre fonction.

186
00:08:55,880 --> 00:08:58,610
‫Comme ça, et puis nous l'appelons tout de suite.

187
00:08:58,610 --> 00:08:59,870
‫Vous vous en souvenez ?

188
00:08:59,870 --> 00:09:03,320
‫Ensuite, dans ce cas, puisque nous voulons utiliser Async/Await,

189
00:09:03,320 --> 00:09:06,660
‫nous disons aussi qu'il s'agit d'une fonction Async.

190
00:09:06,660 --> 00:09:09,070
‫D'accord, et donc cela semble un peu bizarre

191
00:09:09,070 --> 00:09:11,940
‫ici, mais si vous avez suivi par exemple mon cours

192
00:09:11,940 --> 00:09:14,210
‫JavaScript, cela vous semblera familier en fait.

193
00:09:14,210 --> 00:09:16,700
‫Bon, encore une fois, vous déclarez une

194
00:09:16,700 --> 00:09:19,860
‫fonction entre parenthèses, puis vous l'appelez fonction tout de suite.

195
00:09:19,860 --> 00:09:22,470
‫Et ainsi, de cette façon, vous n'avez pas à

196
00:09:22,470 --> 00:09:26,190
‫déclarer à nouveau une fonction de nom entier que vous appellerez ensuite

197
00:09:26,190 --> 00:09:27,650
‫à un moment donné.

198
00:09:27,650 --> 00:09:29,087
‫D'accord.

199
00:09:29,087 --> 00:09:31,070
‫Maintenant que nous utilisons Async/Await,

200
00:09:31,070 --> 00:09:34,623
‫nous utilisons à nouveau le modèle try it catch, comme auparavant.

201
00:09:36,346 --> 00:09:39,660
‫Alors attrapez, ayez accès à l'erreur ici, et nous

202
00:09:39,660 --> 00:09:42,261
‫ne pouvons en fait pas l'omettre ici.

203
00:09:42,261 --> 00:09:43,720
‫Donc, même si nous ne voulons pas

204
00:09:43,720 --> 00:09:45,330
‫utiliser cette erreur, nous devons toujours l'écrire ici.

205
00:09:45,330 --> 00:09:46,163
‫D'accord.

206
00:09:47,004 --> 00:09:48,420
‫Dans les futures versions de

207
00:09:48,420 --> 00:09:51,310
‫JavaScript, cela disparaîtra, mais pour l'instant, nous devons procéder comme ceci.

208
00:09:51,310 --> 00:09:53,503
‫C'est donc là que cette erreur sera.

209
00:09:56,290 --> 00:09:59,213
‫Et là-haut, nous aurons toutes ces consoles. journaux.

210
00:10:00,660 --> 00:10:01,593
‫Celui-ci,

211
00:10:03,870 --> 00:10:05,003
‫et celui-ci.

212
00:10:06,749 --> 00:10:09,790
‫Et maintenant, j'espère que vous savez comment obtenir

213
00:10:09,790 --> 00:10:12,770
‫la valeur de la fonction Async.

214
00:10:12,770 --> 00:10:14,340
‫Alors vous savez comment faire.

215
00:10:14,340 --> 00:10:17,230
‫En fait, je vais mettre la vidéo sur pause et vous permettre

216
00:10:17,230 --> 00:10:19,720
‫de découvrir comment le faire par vous-même, d'accord ?

217
00:10:19,720 --> 00:10:21,750
‫Alors relevez ce petit défi et je serai de retour

218
00:10:21,750 --> 00:10:22,583
‫dans une seconde.

219
00:10:26,810 --> 00:10:30,270
‫Alors avez-vous réussi à obtenir cette chaîne ici, afin que ces

220
00:10:30,270 --> 00:10:32,900
‫deux soient prêtes dans la variable x comme

221
00:10:32,900 --> 00:10:34,510
‫nous l'avions auparavant ?

222
00:10:34,510 --> 00:10:35,973
‫Alors juste comme ça ici ?

223
00:10:37,030 --> 00:10:40,110
‫C'est donc comme avant.

224
00:10:40,110 --> 00:10:44,380
‫Vous déclarez une variable puis vous attendez la promesse.

225
00:10:44,380 --> 00:10:48,090
‫Et la promesse, dans ce cas, est d'obtenir une photo de chien.

226
00:10:48,090 --> 00:10:48,923
‫D'accord?

227
00:10:48,923 --> 00:10:51,260
‫Donc, cette fonction ici est une fonction Async

228
00:10:51,260 --> 00:10:53,550
‫et elle renvoie donc une promesse.

229
00:10:53,550 --> 00:10:55,850
‫Et la valeur de résultat de

230
00:10:55,850 --> 00:10:58,100
‫cette promesse est cette valeur

231
00:10:58,100 --> 00:11:01,400
‫ici, qui est renvoyée, et donc en attendant cette

232
00:11:01,400 --> 00:11:03,880
‫valeur, le résultat sera cette chaîne.

233
00:11:03,880 --> 00:11:06,710
‫Nous stockons donc cela dans x et nous pouvons bien

234
00:11:06,710 --> 00:11:08,420
‫sûr le connecter à la console.

235
00:11:08,420 --> 00:11:12,260
‫Alors consolez-vous. journal x.

236
00:11:12,260 --> 00:11:14,980
‫Ensuite, en cas d'erreur, il l'attrapera et l'enregistrera

237
00:11:14,980 --> 00:11:16,890
‫également dans la console ici.

238
00:11:16,890 --> 00:11:19,230
‫Si nous lui donnons une

239
00:11:19,230 --> 00:11:22,555
‫sauvegarde maintenant, alors bam nous obtenons toujours l'erreur parce

240
00:11:22,555 --> 00:11:26,180
‫que nous l'avions ici, donc cette partie fonctionne toujours.

241
00:11:26,180 --> 00:11:30,490
‫Le réparer, le sauvegarder, et c'est parti.

242
00:11:30,490 --> 00:11:32,790
‫Cela fonctionne donc maintenant comme prévu.

243
00:11:32,790 --> 00:11:35,470
‫Mais, encore une fois, avec Async/Await, c'est beaucoup plus

244
00:11:35,470 --> 00:11:38,433
‫propre, c'est beaucoup mieux et c'est aussi plus facile à comprendre.

245
00:11:39,315 --> 00:11:42,577
‫Et donc nous ne mélangeons pas Async/Await en un seul endroit ici,

246
00:11:42,577 --> 00:11:45,430
‫puis nous utilisons DEN et rattrapons ici comme nous l'avions

247
00:11:45,430 --> 00:11:47,543
‫auparavant avec ce morceau de code.

248
00:11:47,543 --> 00:11:48,570
‫D'accord?

249
00:11:48,570 --> 00:11:51,820
‫Donc dans la vraie vie, ce genre de choses arrive tout le temps.

250
00:11:51,820 --> 00:11:54,450
‫Nous avons donc une fonction Async et nous l'avons appelée

251
00:11:54,450 --> 00:11:57,500
‫à partir d'une autre fonction Async, et peut-être même avons-nous appelé

252
00:11:57,500 --> 00:11:59,660
‫une autre fonction Async à partir de

253
00:11:59,660 --> 00:12:02,270
‫cette première fonction Async, et nous avons donc un

254
00:12:02,270 --> 00:12:05,420
‫tas de ces fonctions Async qui interagissent les unes avec les autres.

255
00:12:05,420 --> 00:12:07,710
‫Il est donc très important que vous sachiez

256
00:12:07,710 --> 00:12:08,900
‫comment tout cela fonctionne.

257
00:12:08,900 --> 00:12:11,070
‫Et encore une fois pour récapituler,

258
00:12:11,070 --> 00:12:14,160
‫la chose la plus importante à retenir est qu'une fonction

259
00:12:14,160 --> 00:12:17,430
‫Async renvoie automatiquement une promesse, et que la valeur que nous

260
00:12:17,430 --> 00:12:20,800
‫renvoyons à partir d'une fonction Async sera la valeur de résultat

261
00:12:20,800 --> 00:12:21,890
‫de cette promesse.

262
00:12:21,890 --> 00:12:24,426
‫Et donc à partir de là, nous pouvons simplement le

263
00:12:24,426 --> 00:12:25,810
‫gérer comme une autre promesse.

264
00:12:25,810 --> 00:12:29,070
‫Et c'est exactement ce que nous avons fait ici en attendant

265
00:12:29,070 --> 00:12:31,300
‫cette première promesse que nous avons créée.

266
00:12:31,300 --> 00:12:32,133
‫D'accord?

267
00:12:32,133 --> 00:12:35,000
‫Alors s'il vous plaît, essayez de comprendre cela et

268
00:12:35,000 --> 00:12:37,010
‫assurez-vous que vous le comprenez vraiment.

269
00:12:37,010 --> 00:12:39,320
‫Parce que dans le reste du cours, je

270
00:12:39,320 --> 00:12:42,270
‫vais supposer que vous savez comment travailler avec ce genre de choses.

271
00:12:42,270 --> 00:12:44,730
‫Et c'est exactement pourquoi j'ai créé cette

272
00:12:44,730 --> 00:12:48,160
‫section, pour en quelque sorte la mettre à l'écart avant de

273
00:12:48,160 --> 00:12:52,330
‫vraiment commencer à travailler sans JS ni express, et toutes ces bonnes choses.

274
00:12:52,330 --> 00:12:53,250
‫D'accord?

275
00:12:53,250 --> 00:12:56,178
‫Nous avons donc presque fini avec cette section, il y a juste une petite

276
00:12:56,178 --> 00:12:57,720
‫chose que je veux vous montrer dans

277
00:12:57,720 --> 00:12:58,653
‫la prochaine vidéo.

