Abaixo, uma pequena nota sobre como pausar a execução do seu aplicativo quando a conexão com a Internet estiver desconectada e continuar - quando será restaurada.
Imagine que seu aplicativo hipotético deve executar uma fila de solicitações http. Além disso, cada um dos seguintes depende do resultado do anterior.
async function main () { let url = ' ... ' while (url) { const resp = await fetch(url) const json = await resp.json() url = json.url } }
Mas se no meio desse processo a conexão com a Internet desaparecer, a fila será interrompida. Vamos consertar.
Para começar, escrevemos uma função que retornará uma promessa que será resolvida quando o cliente retomar a conexão:
function awaitOnline () { return new Promise(resolve => {
Agora adicione-o ao nosso código principal
async function main () { let url = ' ... ' while (url) { await awaitOnline()
De uma maneira tão simples, a cada iteração, nosso algoritmo verifica o status da rede e faz uma pausa se não houver conexão. E continuará automaticamente a execução do mesmo local assim que a conexão for restaurada.
Claro, isso não é uma panacéia. Mas um hack tão pequeno tornará seu aplicativo um pouco mais tolerante a falhas.