Gestione dell'errore con Promise

0

Sto scrivendo una piccola applicazione in TypeScript che deve fare un'operazione asincrona e lo sto facendo con Promise e async/await zucchero. Ma il mio problema non si basa sulla particolare lingua o strategia di asincronicità.

L'operazione è sia di I / O che di rete, qualcosa del tipo:

  • ogni 2 minuti trova un file adatto dal file system
  • calcola sha1
  • esegui lo streaming tramite tcp
  • attendi la risposta e controlla se lo sha1 ricevuto è ok

Non so quando e come gestire gli errori: normalmente devo registrare l'errore nel db e continuare la successiva iterazione o fare un altro tentativo.

Ma quando registrarsi? quando usare il fermo?

La prima idea è al massimo livello:

const result = await doEverything().catch( function(err) {
    if(err.code === 'file not found') ...
    if(err.code === 'connection timeout after 3 retry') ...
}

Ma non so se sia l'opzione migliore. Puoi consigliarmi alcune buone letture sulle migliori pratiche per gestire gli errori?

    
posta nkint 09.05.2016 - 11:19
fonte

0 risposte

Leggi altre domande sui tag