Utilizzare l’oggetto `fetch` di JavaScript rende il caricamento di un file JSON da un server molto semplice. Ecco un esempio di come si può fare:
```
fetch(‘https://api.mysite.com/data.json’) // Indirizzo del file JSON
.then(response => response.json()) // Trasforma la risposta in JSON
.then(data => console.log(data)) // Mostra i dati
.catch(error => console.error(error)) // Gestisce eventuali errori
```
Nell’esempio sopra, `fetch` invia una richiesta GET all’URL fornito. Restituisce una promessa che si risolve con l’oggetto Response. Quindi, possiamo usare il metodo json() su di esso per ottenere i dati come un oggetto JavaScript.
Se c’è un errore durante l’operazione di fetch, sarà catturato dal blocco catch.
Ricorda che potrebbe essere necessario gestire errori di rete e risposte con uno stato non ok separatamente:
```
fetch(‘https://api.mysite.com/data.json’)
.then((response) => {
if (!response.ok) {
throw new Error(‘Network response was not ok’);
}
return response.json();
})
.then(data => console.log(data))
.catch(error => console.error(‘There has been a problem with your fetch operation:’, error));
```
In questo esempio, se la risposta non è ok (per esempio, lo stato della risposta non è un successo HTTP 200), lanciamo un nuovo errore che sarà poi catturato dal blocco catch.
Importante notare che fetch() rifiuta solo le promesse con un errore di rete, e non un errore HTTP. Un responso 404 ancora risolve correttamente la promessa e restituisce un oggetto Response con un ok status settato a false.