Async e Await
Lezione 9 di 9 del corso Gli aspetti più complessi di JavaScript moderno (ES6+) di Coddy.
Se hai completato l'ultima lezione, starai pensando che le promise siano difficili da capire o persino che sia difficile ricordarne la sintassi!
Non preoccuparti! ES6 è qui per aiutarti.
<i>async</i>e<i>await</i>rendono più facile scrivere le promise
considera una funzione che esegue un'attività asincrona (che richiede tempo).
Vogliamo che questa funzione restituisca una promise e attenda anche il risultato della promise.
se scriviamo
asyncprima di qualsiasi funzione Javascript, restituisce sempre una promise.await farà attendere alla funzione una promise e sospenderà l'esecuzione della funzione finché la promise non sarà risolta.
considera un esempio di recupero di dati da un server: potrebbe richiedere alcuni secondi
async function fetchData () {
const response = await fetch("/url"); // attendi la promise
const movies = await response.json(); // attendi la promise
return movies;
}
fetchData.then(val => console.log(val)) // i dati restituiti dall'APILa parola chiave
awaitpuò essere usata solo all'interno di una funzioneasync.
async-await può essere usato sia nelle funzioni normali sia nelle funzioni freccia.
const someFunc = async (a) => { await //code }Sfida
MedioTi viene fornita una funzione foo, che riceve un intero n e restituisce una promise.
Scrivi una funzione sum che riceve in input due promise e restituisce la somma dei risultati risolti.
La funzione deve essere contrassegnata con async!
Provalo tu
const foo = async (x) => {
return x
}
// Scrivi il tuo codice qui sottoTutte le lezioni di Gli aspetti più complessi di JavaScript moderno (ES6+)
2Immergiamoci
Ambito di blocco - let e constFunzioni frecciaSpread e RestCiclo for...ofClassiPromisesAsync e AwaitEsercitati da solo: Compilatore JavaScript online