‫Istruttore: E ora per finire
‫la sezione, lascia che ti mostri un
‫bel trucco su come possiamo sostanzialmente mantenere molte promesse tutte allo stesso tempo.
‫Quindi supponiamo che in realtà volessimo ottenere tre immagini
‫di cani casuali e non solo una.
‫Potremmo fare qualcosa del genere.
‫Quindi semplicemente in attesa di chiamate D3API, una dopo l'altra.
‫Ma perché dovremmo effettivamente fare in modo
‫che la seconda chiamata
‫API aspetti la prima e la terza la seconda?
‫Ciò aggiungerebbe solo tempi di attesa non
‫necessari quando potremmo semplicemente
‫eseguire tutte queste promesse contemporaneamente.
‫Quindi lascia che ti mostri come potremmo farlo.
‫Quindi, la soluzione non sarà qualcosa del genere,
‫ma invece, quello che faremo è non aspettare una
‫promessa a questo punto, ma invece salvare
‫la promessa in una variabile.
‫Quindi, di nuovo, vogliamo ora salvare
‫la promessa e non il valore risolto della promessa.
‫Quindi, chiamiamolo qui, risultato uno, pro, che
‫sta per promessa.
‫Quindi ricorda che questo qui restituisce una promessa.
‫Ok, e se non lo aspettiamo,
‫bene, salveremo semplicemente la promessa nella variabile e non
‫il suo valore risolto.
‫Quindi facciamolo qui altre due volte.
‫Quindi uno per ogni immagine casuale che vogliamo.
‫Ok, e così, abbiamo tre promesse.
‫Ora, per ottenere effettivamente i valori
‫risolti, quindi
‫le tre immagini, creiamo una nuova variabile e ciò che
‫aspettiamo è promettere il punto tutto, ok.
‫E nel punto promessa tutto, passiamo una serie di promesse.
‫E quindi sarà res one
‫pro, res due pro e res tre pro.
‫Ok, di nuovo, abbiamo queste tre promesse e queste
‫tre variabili e possiamo passare un array
‫contenente queste tre promesse in promise dot all.
‫E se poi lo aspettiamo, fondamentalmente eseguirà queste
‫tre promesse tutte allo stesso tempo
‫e quindi salverà su tre
‫valori risolti in questo array tutto qui, ok.
‫Quindi diamo un'occhiata a questo,
‫a tutto ciò che è variabile, ok.
‫Quindi questo qui probabilmente ci darà un errore
‫ora, ma non importa.
‫Si Esattamente.
‫Ma quello che mi interessa qui è
‫vedere se la variabile all e quello che voglio
‫mostrarti è che è davvero un array ma vedo che è troppo
‫grande qui perché ha tutte
‫queste informazioni su tutte queste richieste http .
‫Daremo un'occhiata a
‫questo tipo di cose qui più avanti e noteremo le sezioni.
‫Non posso proprio, ah, ecco l'inizio.
‫Quindi, vedi che in realtà inizia con questa parentesi, il
‫che significa che è un array, ok.
‫Ma quello che ci interessa qui è che, in
‫ciascuno di questi elementi, ci interessa il
‫messaggio del punto del corpo, giusto?
‫Quindi questo è quello che leggevamo prima
‫da ciascuno dei risultati.
‫Quindi, ora dobbiamo creare un nuovo
‫array che contenga solo questi messaggi di punti del corpo.
‫Ok, ha senso?
‫E usiamo le mappe per questo.
‫Quindi immagini e tutte le mappe dei
‫punti.
‫E spero che tu abbia familiarità con questi, tutti questi
‫metodi di array.
‫Quindi le mappe eseguiranno un ciclo attraverso l'intero array
‫e il valore di sicurezza che restituiamo in ogni iterazione
‫in un nuovo array chiamato immagini, ok.
‫E il valore corrente in
‫ogni iterazione è chiamato elemento e ciò
‫che restituiremo è elemento punto corpo punto messaggio.
‫Ok, questo è JavaScript di
‫base e ormai dovresti avere familiarità con quel genere di cose.
‫Bene.
‫Quindi, se ora guardiamo alle immagini, dovrebbero,
‫beh, dov'è?
‫Oh, tutte le mappe a punti, oh, ovviamente non sono mappe,
‫sono solo mappe, scusa per quello.
‫E qui infatti, abbiamo ora il nostro array
‫con queste tre immagini.
‫Quindi, fantastico, sono tre immagini diverse.
‫E ora tutto
‫ciò che dobbiamo fare è salvarli effettivamente nel nostro file.
‫Quindi in questo momento otteniamo ancora res come non
‫definito e questo perché stiamo ancora tentando di
‫scrivere res dot body dot message.
‫Ma res non esiste, ecco perché otteniamo quell'errore.
‫Quindi, invece, quello che vogliamo scrivere
‫qui è una stringa, fondamentalmente, contenente queste tre stringhe.
‫Quindi quello che facciamo è che le immagini si uniscono.
‫E ci uniremo a loro inserendo
‫un nuovo carattere di linea tra di loro.
‫Quindi la barra rovesciata n significa una nuova riga, ok.
‫E quindi questo fondamentalmente metterà queste tre stringhe, ognuna,
‫in una nuova riga, va bene.
‫Quindi join, unisce le tre stringhe in una nuova stringa
‫e le unisce utilizzando un nuovo carattere di riga tra di loro.
‫Ok, e quindi questo dovrebbe fare il trucco.
‫Dagli un salvataggio.
‫E sì, quindi ora dice che l'immagine del punto casuale è stata salvata su
‫file, niente più errori.
‫Diamo un'occhiata, punto immagine, e lo ha fatto, ci siamo.
‫E abbiamo tre immagini diverse.
‫Prima questo, poi questo ragazzo e infine il terzo.
‫Quindi, tre diverse immagini di cani.
‫E li abbiamo ottenuti tutti
‫allo stesso tempo usando la promessa punto tutti, ok.
‫Spero che abbia avuto senso e, in effetti, spero che
‫l'intera sezione abbia avuto senso per te perché
‫d'ora in poi presumo che tu
‫conosca le basi delle promesse e un'unica attesa.
‫E inizieremo effettivamente a
‫usarli per il resto del corso,
‫supponendo che tu sappia cosa stiamo facendo, ok.
‫E Node supporta effettivamente una
‫singola attesa dalla sua versione sette virgola
‫sei, quindi ora possiamo usarlo senza problemi.