Backbone.js错误处理 – 你怎么做?

我想知道人们通常如何使用backbone.js进行错误处理。这将是很好的东西,每次我调用model.save(这反过来调用Backbone.sync)弹出。事情是,backbone.js如何知道什么时候在服务器上发生错误或成功?我知道它会知道是否有一个500服务器错误或类似的东西(从Backbone.sync调用jQuery.ajax之后jquery知道) – 但我想能够传递消息和其他代码,所以我可以给更有意义的错误消息给用户。

我有一个想法,并会喜欢一些反馈。这个想法是重写Backbone.sync。新同步从服务器获取响应,该响应必须采用特定格式。这种格式如下:

ServerResponseObject:
  > ResponseCode
  > Message
  > Model

没有什么奇怪,但基本上,而不是只返回平原模型,它包装了一个ResponseCode和消息,可以显示给用户。

这是正常的做法吗?任何其他方法是更好?

谢谢!

在我的耳朵,这听起来有点复杂的一面,至少开始。 Backbone.sync将报告你可以在模型.save()方法中捕获的错误:

this.mymodel.save(/* ... */, {success: function(model, result, xhr)...,
                              error: function(model, xhr, options)...}

(docs)。

如果你的服务器端遵循HTTP specs,错误代码已经提供了(500 – 服务器错误,404 – 模型未找到,你知道..),即使服务器发送错误代码,它仍然可以发送内容信息)。因此,您基本上已经拥有了内置到HTTP协议本身的所有参数。在我的经验中,如果您使用协议而不是在其上构建新层,您可以编写较少的代码。

在上面的errorcallback,你可能有很好的可能性调用系统的其余部分,并发布错误到一些应用程序消息总线或类似(通过骨干自己的事件机制或一些dedicated library)。

http://stackoverflow.com/questions/8161879/backbone-js-error-handling-how-do-you-do-it

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Backbone.js错误处理 – 你怎么做?