E 'una pratica corretta per gestire le risposte di errore / successo in base al tipo di contenuto, o dovrei gestire i due separatamente?

1

Al momento, quando gestisco un messaggio di successo / fallimento, gestisco entrambi i tipi di risposta tramite lo stesso listener e controllo il tipo di risposta per decidere se si tratta di una risposta positiva o negativa. In questo modo:

server

socket.on('event', function(){

    //process request

    if (success) {
        var data = {
            foo : 'useful',
            bar : 'info'
        }
    } else {
        var data = 'failure message';
    }
    socket.emit('eventResponse', data);
}

client

socket.on('eventResponse', function(){
    if (typeof data = "object") {
       //assume successful response / utilize response data
    } else {
       //assume failure and utilize data as failure message
    }
}

A questo punto, invio sempre un errore come una stringa contenente il messaggio di errore e inviamo sempre il successo come oggetto, contenente i dati di risposta. Penso a questo come una sorta di argomento di dipendenza. Dal momento che non sto definendo delle dipendenze del tipo di input chiare, potrebbe essere considerato una cattiva pratica, o forse perché farlo è più semplice e veloce, potrebbe essere buono. Non sono sicuro.

È una pratica corretta / accettabile per gestire le risposte di errore / successo in questo modo, o dovrei gestire le due separatamente?

    
posta Viziionary 14.11.2014 - 08:59
fonte

1 risposta

2

Se lo fai costantemente, documentalo e soddisfa tutte le tue esigenze, allora non ci sono problemi con esso.

Ma se sai che in futuro avrai bisogno di indicatori di errore più complessi o se lo fai in alcuni punti ma non in altri, o se i tuoi gestori sono così complessi che una funzione combinata diventa illeggibile, allora stroncati la pratica sul nascere ora .

    
risposta data 14.11.2014 - 09:03
fonte

Leggi altre domande sui tag