我如何利用操作和组件来处理Ember的客户端错误
How do I utilize actions and components to handle client side errors with Ember?
据我所见,大多数人使用"刚刚工作"的外部服务,然后在初始化器中插入一些代码来报告错误。
到目前为止,在我的初始化器中,我有:
Ember.onerror = function(error) {
displayError(error);
};
displayError
显示错误通知(类似于Atom编辑器的错误通知)
但是,当我试图为displayError函数添加功能(附加多个错误、关闭一个/全部、显示stacktrace、最终将问题发布到github等)时,我发现回到普通的javascript非常麻烦,我想知道是否有一种方法可以利用ember来报告我的应用程序中发生的错误。
是否有人:
-知道有一个插件可以为我做这一切(我对使用github以外的错误报告服务不感兴趣)
-知道一种让Ember.onerror
在应用程序控制器中触发操作的方法吗?这样我就可以使用组件来呈现错误,并且可以更容易地开发实现我需要的东西?
您可以随时尝试使用Ember.Instrumentation.之类的东西
这将允许您从Ember.oneror回调中启动一个事件,您可以订阅应用程序中的其他任何位置。假设您创建了一个位于应用程序根目录下的组件。然后,您可以将该组件订阅到错误事件,并触发何时显示错误。Ember.instrument()
还允许您传递一个有效载荷,该有效载荷可以是错误对象本身。
在你的应用程序的根目录中,你可以有这样的东西:
Ember.onerror = function(error) {
Ember.Instrumentation.instrument("app.error", error);
};
然后,在您的组件中,您可以订阅init
函数中的事件,如下所示:
init: function() {
Ember.Instrumentation.subscribe("app.error", {
before: function(name, timestamp, payload) {
// do logic here with error
},
after: function() {
// optional cleanup work here
}
}
}
相关文章:
- Ember事件处理程序中缺少view.conf或templateContext
- 将jQuery与Ember操作处理程序结合使用
- 处理Ember中操作中的事件绑定和回调
- 如何在ember.js中将多个模型处理成一个模板/路由
- Ember:使用{{action}}标签处理多个事件
- 如何等到find方法完成后再在Ember模型中进行进一步处理
- 处理Ember.js默认路由之外的页面URL哈希参数
- Ember.js处理View事件后转换到路由
- ember.js 中的事件处理程序
- 如何将使用 getter 检索到的 Ember 数据放入临时变量中进行处理
- 如何使 ember 组件从服务器获取数据.将 AJAX 调用放在组件中似乎不是处理此问题的好做法
- Ember:处理路由时出错:未定义
- Ember.js-如何使用DS.store.find()方法处理错误
- 我如何利用操作和组件来处理Ember的客户端错误
- 如何在节点 + Ember 应用程序中处理路由
- 如何添加事件处理程序来路由Ember.js中显示的事件
- 如何处理ember.js模型中的标记
- 处理路由时出现Ember错误:列出断言失败
- Ember从普通Javascript调用一个动作处理程序
- Ember:如何访问一个有动作处理程序的HTML元素