2013-08-01 3 views
7

Ho appena guardato questo video di una recente discussione con gli sviluppatori di framework di base di ember-core.Come utilizzare Ember.RSVP.onerror per segnalare eccezioni da promesse respinte senza gestori di errori

Nel video i membri del panel sono eached chiesto di condividere un generale punta il debug - Tom Dale chiama la RSVP onerror gestore, che rende possibile globalmente eccezioni di report che sarebbe stato altrimenti inghiottite nelle promesse senza gestori di rigetto.

Penso che questo gestore risponda a una domanda (un po 'confusa) che ho chiesto altrove su Stack Overflow. Qualcuno sa come usare questo gestore o dove potrebbero trovarsi i documenti?

acceptable promise pattern for 'LOUD' errors?

risposta

4

La documentazione sono qui:

Questo è stato aggiunto intorno a settembre 2013.

+4

"Utilizzo di RSVP.configure ('onerror', yourCustomFunction); è deprecato a favore dell'utilizzo di RSVP.on" https://github.com/tildeio/rsvp.js#error-handling – rjhilgefort

+0

Qual è il posto migliore per Fai questo? –

+0

@torazaburo È possibile farlo in un inizializzatore. – rjhilgefort

3

Spero che questo aiuti altre persone che vogliono di più con tempora errori e debugging con il codice Ember transpiled.

Prima installare questo: https://github.com/evanw/node-source-map-support

Poi -

Template:

{{#if debug}} 
    <script src="/browser-source-map-support.js"></script> 
    <script>sourceMapSupport.install();</script> 
{{/if}} 
<script src="/bundle-{{ version }}.js"></script> 

Script:

Ember.onerror = function (e) { 
    if(debug) { 
    console.log(window.sourceMapSupport.getErrorSource(e)); 
    console.log(e.stack); 
    } 
    // log error to server 
}; 

Ember.RSVP.configure('onerror', function (e) { 
    if(debug) { 
    console.log(window.sourceMapSupport.getErrorSource(e)); 
    console.log(e.stack); 
    } 
    // log error to server 
}); 

debugging è più facile e veloce.