Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use Ember.RSVP.onerror to report exceptions from rejected promises without error handlers

I just watched this video of a recent panel discussion with the ember-core framework developers.

In the video the panel members are eached asked to share one general debugging tip -- Tom Dale calls out the RSVP onerror handler which makes it possible to globally report exceptions which would have otherwise been swallowed in promises without rejection handlers.

I think this handler will answer a (somewhat confused) question I asked elsewhere on Stack Overflow. Does anyone know how to use this handler or where the docs for it might be?

acceptable promise pattern for 'LOUD' errors?

like image 855
Ben Avatar asked Aug 01 '13 01:08

Ben


2 Answers

The docs are here: https://github.com/tildeio/rsvp.js#error-handling

This was added around September 2013.

like image 66
mavilein Avatar answered Nov 19 '22 19:11

mavilein


Hope this helps any other people wanting more with Ember errors and debugging with transpiled Ember code.

First install this: https://github.com/evanw/node-source-map-support

Then -

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 is easier and faster.

like image 35
Michael Benin Avatar answered Nov 19 '22 19:11

Michael Benin