2013-08-01 20 views
7

Tôi vừa mới xem bài này video của một cuộc thảo luận gần đây với các nhà phát triển khung chính.Làm thế nào để sử dụng Ember.RSVP.onerror để báo cáo ngoại lệ từ những lời hứa bị từ chối mà không có trình xử lý lỗi

Trong video, các thành viên trong bảng được yêu cầu chia sẻ một mẹo gỡ lỗi chung - Tom Dale gọi trình xử lý RSVP onerror, cho phép báo cáo toàn cầu các ngoại lệ có thể bị nuốt theo lời hứa mà không cần xử lý từ chối.

Tôi nghĩ rằng trình xử lý này sẽ trả lời một câu hỏi (hơi bối rối) mà tôi đã hỏi ở đâu đó trên Stack Overflow. Có ai biết làm thế nào để sử dụng xử lý này hoặc nơi các tài liệu cho nó có thể được?

acceptable promise pattern for 'LOUD' errors?

Trả lời

4

Các tài liệu đang ở đây:

này được đưa vào khoảng tháng chín năm 2013.

+4

"Cách sử dụng RSVP.configure ('onerror', yourCustomFunction); không được dùng để sử dụng RSVP.on" https://github.com/tildeio/rsvp.js#error-handling – rjhilgefort

+0

Nơi tốt nhất để làm cái này? –

+0

@torazaburo Bạn có thể làm điều đó trong một bộ khởi tạo. – rjhilgefort

3

Hope this helps bất kỳ người khác muốn nhiều hơn nữa với các lỗi Ember và gỡ lỗi với mã Ember transpiled.

Đầu tiên cài đặt này: https://github.com/evanw/node-source-map-support

Sau đó -

mẫu:

{{#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 
}); 

Gỡ lỗi là dễ dàng hơn và nhanh hơn.

Các vấn đề liên quan