﻿1
00:00:01,210 --> 00:00:02,370
‫Istruttore: Quindi hai

2
00:00:02,370 --> 00:00:03,980
‫già imparato a usare un Async/Await,

3
00:00:03,980 --> 00:00:05,970
‫ma in realtà c'è ancora un po'

4
00:00:05,970 --> 00:00:09,240
‫di più da imparare su come funzionano effettivamente le funzioni Async.

5
00:00:09,240 --> 00:00:10,613
‫Quindi facciamolo ora.

6
00:00:12,140 --> 00:00:15,080
‫Per capire un po' meglio cosa succede qui, proviamo ad

7
00:00:15,080 --> 00:00:18,330
‫aggiungere un po' di console. log dopo e

8
00:00:18,330 --> 00:00:21,333
‫prima di chiamare le funzioni asincrone qui.

9
00:00:22,640 --> 00:00:24,520
‫Ok, allora consolati. log

10
00:00:26,310 --> 00:00:27,940
‫Quindi il primo passaggio

11
00:00:29,686 --> 00:00:31,383
‫otterrà le foto del

12
00:00:32,340 --> 00:00:33,360
‫cane, ok.

13
00:00:33,360 --> 00:00:34,763
‫E poi il numero due.

14
00:00:36,690 --> 00:00:37,730
‫Qui diciamo

15
00:00:37,730 --> 00:00:42,410
‫solo che ho finito di scattare foto di cani.

16
00:00:42,410 --> 00:00:44,433
‫Va bene. Quindi diamo un salvataggio.

17
00:00:45,460 --> 00:00:47,570
‫E whoa, cosa è successo qui.

18
00:00:47,570 --> 00:00:50,160
‫Abbiamo queste due console. log prima

19
00:00:50,160 --> 00:00:54,120
‫di tutti i log provenienti dalla funzione Async.

20
00:00:54,120 --> 00:00:56,346
‫Quindi abbiamo uno, due per questo

21
00:00:56,346 --> 00:00:57,900
‫e questo e

22
00:00:57,900 --> 00:00:59,610
‫solo dopo abbiamo i log

23
00:00:59,610 --> 00:01:01,530
‫provenienti dalla foto del cane.

24
00:01:01,530 --> 00:01:03,290
‫È quello che ti aspettavi?

25
00:01:03,290 --> 00:01:06,320
‫Quindi, in caso contrario, analizziamo cosa è successo qui.

26
00:01:06,320 --> 00:01:09,650
‫Bene, come ti ho detto prima, questa funzione Async

27
00:01:09,650 --> 00:01:11,940
‫viene effettivamente eseguita in background.

28
00:01:11,940 --> 00:01:15,160
‫Perché è così che le funzioni asincrone

29
00:01:15,160 --> 00:01:17,150
‫dovrebbero semplicemente comportarsi.

30
00:01:17,150 --> 00:01:18,960
‫Giusto, ha perfettamente senso?

31
00:01:18,960 --> 00:01:21,623
‫Quindi non possiamo semplicemente fermare il codice qui.

32
00:01:22,470 --> 00:01:24,920
‫Quindi, non appena premiamo questa

33
00:01:24,920 --> 00:01:29,440
‫funzione, non possiamo semplicemente interrompere l'esecuzione del nostro thread principale qui.

34
00:01:29,440 --> 00:01:30,273
‫Destra?

35
00:01:30,273 --> 00:01:32,750
‫E questa è l'intera filosofia di non bloccare

36
00:01:32,750 --> 00:01:34,120
‫il registro degli eventi.

37
00:01:34,120 --> 00:01:37,270
‫Quindi abbiamo bisogno di ottenere alcune immagini di cani dall'API,

38
00:01:37,270 --> 00:01:40,550
‫ma questa non è una scusa per interrompere l'esecuzione sul codice.

39
00:01:40,550 --> 00:01:42,840
‫Quindi per bloccare il registro eventi.

40
00:01:42,840 --> 00:01:45,770
‫Di conseguenza, quando il motore di script java è

41
00:01:45,770 --> 00:01:48,480
‫terminato, questa riga di codice qui scaricherà semplicemente

42
00:01:48,480 --> 00:01:51,220
‫la funzione get dog pic sullo sfondo e

43
00:01:51,220 --> 00:01:53,230
‫passerà direttamente alla riga successiva.

44
00:01:53,230 --> 00:01:55,850
‫Quindi questa seconda console. accedi qui.

45
00:01:55,850 --> 00:01:59,890
‫Quindi ha senso che prima questa stringa qui venga registrata, quindi

46
00:01:59,890 --> 00:02:01,990
‫inizierà a eseguire questa funzione,

47
00:02:01,990 --> 00:02:05,270
‫quindi immediatamente registrerà questa riga di codice e nel

48
00:02:05,270 --> 00:02:08,470
‫frattempo, leggiamo questo file in background e non

49
00:02:08,470 --> 00:02:10,390
‫appena ciò è pronto, inizierà

50
00:02:10,390 --> 00:02:13,370
‫a stampare questo registro, questo registro e

51
00:02:13,370 --> 00:02:14,920
‫anche questo registro.

52
00:02:14,920 --> 00:02:16,340
‫Quindi è esattamente quello che sta succedendo qui.

53
00:02:16,340 --> 00:02:19,760
‫Uno due, e poi restanti tre.

54
00:02:19,760 --> 00:02:21,550
‫Ha senso? Va bene.

55
00:02:21,550 --> 00:02:24,210
‫Quindi facciamo un ulteriore passo

56
00:02:24,210 --> 00:02:28,500
‫avanti e restituiamo effettivamente qualcosa dalla nostra funzione Async.

57
00:02:28,500 --> 00:02:31,673
‫Quindi lo cambio qui in tre, in modo

58
00:02:31,673 --> 00:02:34,740
‫che da questa funzione possiamo restituire una

59
00:02:35,590 --> 00:02:40,570
‫stringa che dice due, beh diciamo pronto e poi aggiungiamo di nuovo

60
00:02:40,570 --> 00:02:43,410
‫qui un'emoji per farlo risaltare

61
00:02:43,410 --> 00:02:46,430
‫un po' di più nella nostra console.

62
00:02:46,430 --> 00:02:47,853
‫Quindi pronto qui.

63
00:02:48,770 --> 00:02:51,063
‫E poi salviamolo.

64
00:02:53,100 --> 00:02:55,883
‫Semplicemente una variabile, non importa cosa sia.

65
00:02:59,040 --> 00:03:01,520
‫E poi accedi x alla console.

66
00:03:01,520 --> 00:03:03,260
‫Quindi vediamo cosa succede.

67
00:03:03,260 --> 00:03:06,050
‫E poi ora ecco che riceviamo questa

68
00:03:06,050 --> 00:03:10,800
‫strana promessa in sospeso invece della stringa qui che forse ci aspettavamo.

69
00:03:10,800 --> 00:03:14,180
‫Allora perché x è qui e non questa

70
00:03:14,180 --> 00:03:16,330
‫stringa, ma questa promessa qui?

71
00:03:16,330 --> 00:03:19,310
‫Bene, ricordi come ho detto all'inizio dell'ultimo

72
00:03:19,310 --> 00:03:21,860
‫video che una funzione

73
00:03:21,860 --> 00:03:24,630
‫Async effettivamente restituisce automaticamente una promessa?

74
00:03:24,630 --> 00:03:27,490
‫Bene, quindi questa è la prova per questo.

75
00:03:27,490 --> 00:03:30,830
‫Quindi, invece di accedere alla console a questo punto, ci dice

76
00:03:30,830 --> 00:03:33,670
‫solo che x è una promessa che a questo punto

77
00:03:33,670 --> 00:03:35,730
‫è ancora in esecuzione e quindi è

78
00:03:35,730 --> 00:03:36,950
‫ancora in sospeso.

79
00:03:36,950 --> 00:03:39,140
‫Ecco perché dice in sospeso qui.

80
00:03:39,140 --> 00:03:42,460
‫Quindi lo script java ovviamente non può sapere che x sarà

81
00:03:42,460 --> 00:03:45,390
‫questa stringa pronta qui ad un certo punto.

82
00:03:45,390 --> 00:03:48,350
‫E così passa semplicemente alla console successiva. log proprio

83
00:03:48,350 --> 00:03:50,870
‫come avevamo discusso prima.

84
00:03:50,870 --> 00:03:53,380
‫E nel momento in cui JavaScript sa effettivamente

85
00:03:53,380 --> 00:03:57,176
‫che questa x qui dovrebbe essere il ceppo che abbiamo restituito

86
00:03:57,176 --> 00:03:59,480
‫bene a quel punto, questo codice qui

87
00:03:59,480 --> 00:04:01,570
‫ha terminato da tempo l'esecuzione.

88
00:04:01,570 --> 00:04:04,160
‫Ma cosa dovremmo fare se volessimo

89
00:04:04,160 --> 00:04:06,860
‫effettivamente ottenere quel valore di ritorno qui?

90
00:04:06,860 --> 00:04:09,930
‫E se volessimo davvero restituire questa stringa e

91
00:04:09,930 --> 00:04:11,950
‫registrarla tramite la console?

92
00:04:11,950 --> 00:04:14,670
‫Bene, dovremmo considerare questa funzione asincrona come

93
00:04:14,670 --> 00:04:15,980
‫una promessa.

94
00:04:15,980 --> 00:04:18,310
‫E quindi useremmo il metodo

95
00:04:18,310 --> 00:04:21,080
‫DEN su di esso o ancora, usiamo Async/Await.

96
00:04:21,080 --> 00:04:23,510
‫Lascia che ti mostri come farlo.

97
00:04:23,510 --> 00:04:27,840
‫Quindi, invece di provare a salvare il valore restituito

98
00:04:27,840 --> 00:04:32,513
‫in una variabile, possiamo usare il metodo DEN su di essa.

99
00:04:34,400 --> 00:04:37,113
‫E quindi ecco dove possiamo chiamarlo x.

100
00:04:38,750 --> 00:04:43,157
‫Quindi consolati. log x quindi proprio come quello che

101
00:04:43,157 --> 00:04:45,850
‫avevamo qui e poi faremmo anche questo all'interno

102
00:04:45,850 --> 00:04:47,513
‫della maniglia DEN, ok?

103
00:04:48,511 --> 00:04:49,920
‫Quindi esaminiamo ciò che abbiamo fatto qui.

104
00:04:49,920 --> 00:04:53,550
‫Quindi ottenere la foto del cane restituisce una promessa, lo ricordi?

105
00:04:53,550 --> 00:04:57,760
‫E così ogni volta che abbiamo una promessa, usiamo il metodo DEN

106
00:04:57,760 --> 00:05:00,690
‫per avere accesso al suo valore futuro.

107
00:05:00,690 --> 00:05:04,120
‫Quindi il valore che alla fine tornerà.

108
00:05:04,120 --> 00:05:08,050
‫In tal caso, queste saranno le due stringhe pronte.

109
00:05:08,050 --> 00:05:08,883
‫Va bene?

110
00:05:08,883 --> 00:05:10,540
‫Quindi, se vuoi ottenere

111
00:05:10,540 --> 00:05:14,520
‫x, dobbiamo usare il metodo DEN come abbiamo appena fatto qui.

112
00:05:14,520 --> 00:05:17,370
‫E solo dopo possiamo registrare la terza

113
00:05:17,370 --> 00:05:19,218
‫stringa proprio qui.

114
00:05:19,218 --> 00:05:21,010
‫Quindi, se gli diamo un

115
00:05:21,010 --> 00:05:23,760
‫salvataggio ora come questo, dovrebbe funzionare come previsto.

116
00:05:23,760 --> 00:05:24,890
‫E sì, lo fa.

117
00:05:24,890 --> 00:05:28,420
‫Quindi abbiamo il nostro primo registro, quindi tutti

118
00:05:28,420 --> 00:05:32,120
‫i registri provenienti dalla nostra funzione Async, quindi il

119
00:05:32,120 --> 00:05:34,795
‫pronto proveniente dalla riga 42 qui.

120
00:05:34,795 --> 00:05:36,530
‫E infine, il numero 3. Perfetto.

121
00:05:36,530 --> 00:05:39,083
‫E spero che abbia perfettamente senso per te.

122
00:05:40,416 --> 00:05:43,530
‫Ora cosa succede se effettivamente c'è stato un errore?

123
00:05:43,530 --> 00:05:45,853
‫Beh, è un po' più difficile da gestire.

124
00:05:47,149 --> 00:05:50,410
‫Quindi cerchiamo di nuovo di causare un errore come abbiamo fatto prima.

125
00:05:50,410 --> 00:05:54,020
‫Ma vedi che in realtà entriamo ancora nel

126
00:05:54,020 --> 00:05:55,630
‫metodo DEN qui.

127
00:05:55,630 --> 00:05:58,640
‫Quindi questo blocco qui, ok.

128
00:05:58,640 --> 00:06:03,230
‫Quindi, anche se c'è stato un errore qui in questa promessa, sostanzialmente

129
00:06:03,230 --> 00:06:06,980
‫si risolve comunque come una promessa di successo.

130
00:06:06,980 --> 00:06:09,720
‫Quindi restituisce ancora questo valore qui.

131
00:06:09,720 --> 00:06:12,560
‫E anche se aggiungiamo il nostro gestore di cattura quaggiù,

132
00:06:12,560 --> 00:06:14,373
‫questo non cambierà il fatto.

133
00:06:16,040 --> 00:06:18,317
‫Ok, allora usiamo catch qui

134
00:06:22,760 --> 00:06:26,620
‫e poi console. log e registra l'errore qui

135
00:06:26,620 --> 00:06:30,300
‫in modo da poter vedere che ancora non ha registrato alcun errore.

136
00:06:30,300 --> 00:06:33,620
‫E questo è di nuovo perché questa promessa

137
00:06:33,620 --> 00:06:36,270
‫qui proveniente da questa funzione asincrona sarà

138
00:06:36,270 --> 00:06:38,410
‫ancora contrassegnata come riuscita.

139
00:06:38,410 --> 00:06:41,170
‫Ma se vuoi davvero contrassegnarlo come

140
00:06:41,170 --> 00:06:44,450
‫rifiutato, dovremo fare qualcosa chiamato lancio di un errore.

141
00:06:44,450 --> 00:06:46,660
‫Quindi facciamolo qui in questo blocco di cattura.

142
00:06:46,660 --> 00:06:50,250
‫Quindi, se si è verificato un errore, non solo vogliamo

143
00:06:50,250 --> 00:06:53,183
‫registrarlo sulla console, ma vogliamo anche eliminarlo.

144
00:06:54,830 --> 00:06:59,123
‫Quindi usiamo una funzione JavaScript incorporata chiamata throw.

145
00:07:00,080 --> 00:07:02,460
‫E con questo possiamo lanciare un errore.

146
00:07:02,460 --> 00:07:06,680
‫Quindi questo ora segnerà l'intera funzione di questa promessa

147
00:07:06,680 --> 00:07:07,693
‫come respinta.

148
00:07:08,600 --> 00:07:09,540
‫Va bene.

149
00:07:09,540 --> 00:07:12,570
‫In realtà non registriamo solo questo errore,

150
00:07:12,570 --> 00:07:17,210
‫facciamo semplicemente un errore per renderlo un po' più visibile,

151
00:07:17,210 --> 00:07:19,932
‫e forse qualcosa come un'esplosione.

152
00:07:19,932 --> 00:07:20,843
‫Sì, qualcosa del genere.

153
00:07:22,250 --> 00:07:26,130
‫Ok, quindi facciamo un salvataggio e vediamo cosa succede.

154
00:07:26,130 --> 00:07:29,380
‫E bam, quindi ora abbiamo il nostro errore qui in realtà.

155
00:07:29,380 --> 00:07:31,840
‫Quindi dice che non sono riuscito a

156
00:07:31,840 --> 00:07:34,480
‫trovare quel file, quindi questo registro proviene da

157
00:07:34,480 --> 00:07:38,250
‫questo registro di cattura qui ma allo stesso tempo genererà un errore.

158
00:07:38,250 --> 00:07:40,800
‫E se genera un errore, questo

159
00:07:40,800 --> 00:07:43,330
‫contrassegnerà l'intera promessa come rifiutata.

160
00:07:43,330 --> 00:07:47,410
‫Ed è per questo che inseriamo qui il registro delle catture.

161
00:07:47,410 --> 00:07:50,290
‫Che poi, ovviamente, a sua volta attiverà

162
00:07:50,290 --> 00:07:52,690
‫questa console. registro di questo errore.

163
00:07:52,690 --> 00:07:53,523
‫Va bene?

164
00:07:53,523 --> 00:07:56,850
‫E questo ovviamente è un livello completamente nuovo di complessità.

165
00:07:56,850 --> 00:07:58,240
‫Va bene.

166
00:07:58,240 --> 00:08:00,900
‫Ma è ancora molto importante capire come funziona,

167
00:08:00,900 --> 00:08:03,250
‫perché accade continuamente nella vita reale.

168
00:08:03,250 --> 00:08:06,160
‫Quindi abbiamo bisogno di restituire sempre valori

169
00:08:06,160 --> 00:08:08,800
‫dalle funzioni Async e quindi è

170
00:08:08,800 --> 00:08:11,880
‫importante sapere come gestire effettivamente questi valori restituiti.

171
00:08:11,880 --> 00:08:15,100
‫In questo caso, usa DEN e cattura.

172
00:08:15,100 --> 00:08:17,550
‫Ora, il problema è che mescola

173
00:08:17,550 --> 00:08:19,610
‫le promesse con Async/Await.

174
00:08:19,610 --> 00:08:21,780
‫Quindi abbiamo Async/Await quassù, poi

175
00:08:21,780 --> 00:08:24,400
‫all'improvviso torniamo a usare DEN

176
00:08:24,400 --> 00:08:26,440
‫e raggiungiamo qui.

177
00:08:26,440 --> 00:08:30,020
‫Quindi lascia che ti mostri effettivamente un altro schema per farlo.

178
00:08:30,020 --> 00:08:32,830
‫Ok, quindi veniamo in questa parte qui, non

179
00:08:32,830 --> 00:08:35,630
‫in questo modo, più in questo modo.

180
00:08:35,630 --> 00:08:39,460
‫Quindi usiamo Async/Await per implementare questa logica.

181
00:08:39,460 --> 00:08:42,380
‫Ora non vogliamo creare una funzione di nome completamente nuova

182
00:08:42,380 --> 00:08:45,200
‫per questo, quindi useremo un modello ben noto che

183
00:08:45,200 --> 00:08:47,140
‫spero tu sappia, che è

184
00:08:47,140 --> 00:08:49,730
‫un IIFE, quindi un'espressione di funzione immediatamente invocata.

185
00:08:49,730 --> 00:08:53,363
‫Ok, quindi tra parentesi definiamo la nostra funzione.

186
00:08:55,880 --> 00:08:58,610
‫Così, e poi lo chiamiamo subito.

187
00:08:58,610 --> 00:08:59,870
‫Ricordati che?

188
00:08:59,870 --> 00:09:03,320
‫Quindi, in questo caso, poiché vogliamo usare Async/Await,

189
00:09:03,320 --> 00:09:06,660
‫diciamo anche che è una funzione Async.

190
00:09:06,660 --> 00:09:09,070
‫Ok, e quindi questo sembra un po' strano

191
00:09:09,070 --> 00:09:11,940
‫qui, ma se hai preso ad esempio il mio corso

192
00:09:11,940 --> 00:09:14,210
‫JavaScript, questo ti sembrerà familiare in realtà.

193
00:09:14,210 --> 00:09:16,700
‫Ok, di nuovo, dichiari una funzione

194
00:09:16,700 --> 00:09:19,860
‫tra parentesi e poi la chiami subito funzione.

195
00:09:19,860 --> 00:09:22,470
‫E così in questo modo, non

196
00:09:22,470 --> 00:09:26,190
‫devi dichiarare di nuovo una funzione di nome intero che

197
00:09:26,190 --> 00:09:27,650
‫chiamerai in seguito.

198
00:09:27,650 --> 00:09:29,087
‫Va bene.

199
00:09:29,087 --> 00:09:31,070
‫Ora, poiché stiamo usando Async/Await,

200
00:09:31,070 --> 00:09:34,623
‫stiamo usando di nuovo lo schema try it catch, come prima.

201
00:09:36,346 --> 00:09:39,660
‫Quindi cattura, accedi all'errore qui e in

202
00:09:39,660 --> 00:09:42,261
‫realtà non possiamo ometterlo qui.

203
00:09:42,261 --> 00:09:43,720
‫Quindi, anche se non vogliamo

204
00:09:43,720 --> 00:09:45,330
‫usare questo errore, dobbiamo comunque scriverlo qui.

205
00:09:45,330 --> 00:09:46,163
‫Va bene.

206
00:09:47,004 --> 00:09:48,420
‫Nelle future versioni di JavaScript

207
00:09:48,420 --> 00:09:51,310
‫questo non sarà più disponibile, ma per ora dobbiamo farlo in questo modo.

208
00:09:51,310 --> 00:09:53,503
‫Quindi questo è dove sarà questo errore.

209
00:09:56,290 --> 00:09:59,213
‫E quassù, avremo tutte queste console. log.

210
00:10:00,660 --> 00:10:01,593
‫Questo

211
00:10:03,870 --> 00:10:05,003
‫e questo.

212
00:10:06,749 --> 00:10:09,790
‫E ora spero che tu sappia come ottenere

213
00:10:09,790 --> 00:10:12,770
‫effettivamente il valore dalla funzione Async.

214
00:10:12,770 --> 00:10:14,340
‫Quindi sai come farlo.

215
00:10:14,340 --> 00:10:17,230
‫In realtà metterò in pausa il video e ti permetterò

216
00:10:17,230 --> 00:10:19,720
‫di capire come farlo da solo, ok?

217
00:10:19,720 --> 00:10:21,750
‫Quindi accetta questa piccola sfida e tornerò in

218
00:10:21,750 --> 00:10:22,583
‫un secondo.

219
00:10:26,810 --> 00:10:30,270
‫Quindi sei riuscito a ottenere questa stringa qui, quindi

220
00:10:30,270 --> 00:10:32,900
‫questi due pronti nella variabile x proprio

221
00:10:32,900 --> 00:10:34,510
‫come avevamo prima?

222
00:10:34,510 --> 00:10:35,973
‫Quindi proprio come questo qui?

223
00:10:37,030 --> 00:10:40,110
‫Quindi è proprio come facevamo prima.

224
00:10:40,110 --> 00:10:44,380
‫Dichiari una variabile e poi attendi la promessa.

225
00:10:44,380 --> 00:10:48,090
‫E la promessa, in questo caso, è ottenere una foto del cane.

226
00:10:48,090 --> 00:10:48,923
‫Va bene?

227
00:10:48,923 --> 00:10:51,260
‫Quindi questa funzione qui è una funzione

228
00:10:51,260 --> 00:10:53,550
‫asincrona e quindi restituisce una promessa.

229
00:10:53,550 --> 00:10:55,850
‫E il valore del risultato di

230
00:10:55,850 --> 00:10:58,100
‫quella promessa è questo valore

231
00:10:58,100 --> 00:11:01,400
‫qui, che viene restituito, e quindi aspettando quel

232
00:11:01,400 --> 00:11:03,880
‫valore, il risultato sarà questa stringa.

233
00:11:03,880 --> 00:11:06,710
‫Quindi lo memorizziamo in x e quindi possiamo

234
00:11:06,710 --> 00:11:08,420
‫ovviamente registrarlo sulla console.

235
00:11:08,420 --> 00:11:12,260
‫Quindi consolati. registro x.

236
00:11:12,260 --> 00:11:14,980
‫Quindi, in caso di errore, lo catturerà e lo

237
00:11:14,980 --> 00:11:16,890
‫registrerà anche qui sulla console.

238
00:11:16,890 --> 00:11:19,230
‫Se gli diamo un

239
00:11:19,230 --> 00:11:22,555
‫salvataggio ora, bam otteniamo ancora l'errore perché

240
00:11:22,555 --> 00:11:26,180
‫lo avevamo qui, quindi quella parte funziona ancora.

241
00:11:26,180 --> 00:11:30,490
‫Ripararlo, salvarlo e ci siamo.

242
00:11:30,490 --> 00:11:32,790
‫Quindi ora funziona come previsto.

243
00:11:32,790 --> 00:11:35,470
‫Ma, ancora una volta, con Async/Await è molto più pulito,

244
00:11:35,470 --> 00:11:38,433
‫ha un aspetto molto migliore ed è anche più facile da capire.

245
00:11:39,315 --> 00:11:42,577
‫E quindi non stiamo mixando Async/Await in un posto qui e

246
00:11:42,577 --> 00:11:45,430
‫poi usando DEN e catch down qui come abbiamo fatto

247
00:11:45,430 --> 00:11:47,543
‫prima con questo pezzo di codice.

248
00:11:47,543 --> 00:11:48,570
‫Va bene?

249
00:11:48,570 --> 00:11:51,820
‫Quindi nella vita reale, questo genere di cose accadono tutto il tempo.

250
00:11:51,820 --> 00:11:54,450
‫Quindi abbiamo una funzione Async e l'abbiamo chiamata

251
00:11:54,450 --> 00:11:57,500
‫da un'altra funzione Async, e forse abbiamo anche chiamato

252
00:11:57,500 --> 00:11:59,660
‫un'altra funzione Async da quella

253
00:11:59,660 --> 00:12:02,270
‫prima funzione Async, e quindi abbiamo un

254
00:12:02,270 --> 00:12:05,420
‫sacco di queste funzioni Async che interagiscono tra loro.

255
00:12:05,420 --> 00:12:07,710
‫E quindi è molto importante che tu sappia

256
00:12:07,710 --> 00:12:08,900
‫come funziona tutto questo.

257
00:12:08,900 --> 00:12:11,070
‫E ancora per ricapitolare, la cosa

258
00:12:11,070 --> 00:12:14,160
‫più importante da ricordare è che una funzione Async

259
00:12:14,160 --> 00:12:17,430
‫restituisce automaticamente una promessa e che il valore che restituiamo

260
00:12:17,430 --> 00:12:20,800
‫da una funzione Async sarà il valore del risultato di

261
00:12:20,800 --> 00:12:21,890
‫quella promessa.

262
00:12:21,890 --> 00:12:24,426
‫E così da lì, possiamo semplicemente gestirlo

263
00:12:24,426 --> 00:12:25,810
‫come un'altra promessa.

264
00:12:25,810 --> 00:12:29,070
‫Ed è esattamente quello che abbiamo fatto qui in attesa di

265
00:12:29,070 --> 00:12:31,300
‫quella prima promessa che abbiamo creato.

266
00:12:31,300 --> 00:12:32,133
‫Va bene?

267
00:12:32,133 --> 00:12:35,000
‫Quindi, per favore, cerca di avvolgere la tua testa intorno a

268
00:12:35,000 --> 00:12:37,010
‫questo e assicurati di averlo veramente capito.

269
00:12:37,010 --> 00:12:39,320
‫Perché per il resto del corso darò

270
00:12:39,320 --> 00:12:42,270
‫per scontato che tu sappia come lavorare con queste cose.

271
00:12:42,270 --> 00:12:44,730
‫Ed è esattamente questo il motivo per

272
00:12:44,730 --> 00:12:48,160
‫cui ho creato questa sezione, per toglierla di mezzo prima di

273
00:12:48,160 --> 00:12:52,330
‫iniziare davvero a lavorare senza JS ed esprimere, e tutte queste cose buone.

274
00:12:52,330 --> 00:12:53,250
‫Va bene?

275
00:12:53,250 --> 00:12:56,178
‫Quindi abbiamo quasi finito con questa sezione, c'è solo una

276
00:12:56,178 --> 00:12:57,720
‫piccola cosa che voglio mostrarvi

277
00:12:57,720 --> 00:12:58,653
‫nel prossimo video.

