По моему опыту, я бы не посоветовал реализовать window.onerror
, если у вас нет веских оснований для этого, и вы знаете, что вы можете делать.
Насколько я знаю, все методы Ember's onerror
копируются на window.onerror
и переопределяют его, чтобы переопределить/отключить всю ошибку в вашем приложении.
Дело в том, что у меня недавно был опыт, когда я заметил, что все мои ошибки js перестали записываться на консоль вообще. Причина заключалась в том, что другой разработчик в моей команде загрузился в мой index.html, чтобы ввести тег <script>
, который использовал window.onerror
для некоторого сценария отчетов об ошибках. В результате получилось, что переопределение window
литерно отключило всех onerror
ember, потому что они работают в пузырящейся манере.
Я думаю, что если вы хотите переопределить window.onerror
, вам необходимо убедиться, что он всегда возвращает false
, чтобы он не предотвращал обработку ошибок по умолчанию в браузере.
См: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
Я надеюсь, что помогает уточнить в какой-то степени.
Вы должны обращаться с '' window.onerror' Ember.onerror' и 'Ember.RSVP.onerror ' – runspired
У вас есть какие-либо доказательства или примеры того, почему я должен обрабатывать' window.onerror'? – pogopaule
Нет необходимости обрабатывать 'Ember.RSVP.onerror', если вы уже обрабатываете' Ember.onerror'. См. [Код] (https://github.com/emberjs/ember.js/blob/v2.2.2/packages/ember-runtime/lib/ext/rsvp.js#L71) – pogopaule