Sous la coupure, une petite note sur la façon de suspendre l'exécution de votre application lorsque la connexion Internet est coupée et de continuer - quand elle sera rétablie.
Imaginez que votre application hypothétique exécute une file d'attente de requêtes http. De plus, chaque suite dépend du résultat de la précédente.
async function main () { let url = ' ... ' while (url) { const resp = await fetch(url) const json = await resp.json() url = json.url } }
Mais si au milieu de ce processus la connexion à Internet disparaît, alors la file d'attente sera interrompue. Corrigeons-le.
Pour commencer, nous écrivons une fonction qui retournera une promesse qui sera résolue lorsque le client reprendra la connexion:
function awaitOnline () { return new Promise(resolve => {
Maintenant, ajoutez-le à notre code principal
async function main () { let url = ' ... ' while (url) { await awaitOnline()
De manière si simple, à chaque itération, notre algorithme vérifiera l'état du réseau et s'arrêtera s'il n'y a pas de connexion. Et il continuera automatiquement son exécution au même endroit dès que la connexion sera rétablie.
Bien sûr, ce n'est pas une panacée. Mais un si petit hack rendra votre application un peu plus tolérante aux pannes.