Unter dem Schnitt ein kleiner Hinweis, wie Sie die Ausführung Ihrer Anwendung anhalten können, wenn die Internetverbindung getrennt wird, und fortfahren, wenn sie wiederhergestellt wird.
Stellen Sie sich vor, Ihre hypothetische Anwendung sollte eine Warteschlange mit http-Anforderungen ausführen. Darüber hinaus hängt jedes Folgende vom Ergebnis des vorherigen ab.
async function main () { let url = ' ... ' while (url) { const resp = await fetch(url) const json = await resp.json() url = json.url } }
Wenn jedoch während dieses Vorgangs die Verbindung zum Internet unterbrochen wird, wird die Warteschlange unterbrochen. Lass es uns reparieren.
Zunächst schreiben wir eine Funktion, die ein Versprechen zurückgibt, das aufgelöst wird, wenn der Client die Verbindung wieder aufnimmt:
function awaitOnline () { return new Promise(resolve => {
Fügen Sie es nun unserem Hauptcode hinzu
async function main () { let url = ' ... ' while (url) { await awaitOnline()
Auf diese einfache Weise überprüft unser Algorithmus bei jeder Iteration den Status des Netzwerks und pausiert, wenn keine Verbindung besteht. Sobald die Verbindung wiederhergestellt ist, wird die Ausführung automatisch an derselben Stelle fortgesetzt.
Dies ist natürlich kein Allheilmittel. Aber ein so kleiner Hack macht Ihre Anwendung etwas fehlertoleranter.