【发布时间】:2013-02-21 00:05:34
【问题描述】:
问题
我想在我的应用程序中有一个默认错误处理程序来处理所有意外错误,但有时(例如保存模型时)可能会出现许多错误,因此我想以自定义方式处理它们,而不是显示一个通用错误页面。
我之前的解决方案
我的Backbone.sync 函数曾经有这个:
if(options.error)
options.error(response)
else
app.vent.trigger('api:error', response) # This is the global event channel
但是,这不再有效,因为主干总是包装错误函数,因此它可以触发模型上的 error 事件。
新解决方案 1
我可以覆盖模型和集合上的 fetch 和 save 方法以包装 options.error 并在上面放上代码,但这感觉有点难看。
新解决方案 2
在模型上听 error,但这不会让我覆盖默认的错误处理程序。
新解决方案 3
传入一个自定义选项来禁用错误的全局触发,不过这感觉是多余的。
我错过了什么吗?有推荐的方法吗?
我可以补充一点,我使用的是他们的 git repo 中的最新版本,而不是他们主页上的最新版本。
【问题讨论】:
标签: backbone.js error-handling