Menu
Coddy logo textTech

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 async prima 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'API

La parola chiave await può essere usata solo all'interno di una funzione async.

async-await può essere usato sia nelle funzioni normali sia nelle funzioni freccia.

const someFunc = async (a) => { await //code }
challenge icon

Sfida

Medio

Ti 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 sotto

Tutte le lezioni di Gli aspetti più complessi di JavaScript moderno (ES6+)

Esercitati da solo: Compilatore JavaScript online