【问题标题】:Detecting when Ember.Data request fails检测 Ember.Data 请求何时失败
【发布时间】:2013-03-15 10:55:11
【问题描述】:

我有一个允许用户向 Twitter 提交帖子的应用程序。它使用 Ember.Data 和 Django Rest Framework 后端。用户发布一条消息,该消息进入服务器,然后提交到 Twitter,然后将响应返回给客户端。这部分一切正常,但我想构建代码来管理请求失败的时间,无论是在我们的服务器上还是在对 Twitter 的请求上。

我在 isError state 上找到了有关 Models 的文档,但我不确定这是否是我正在寻找的正确属性。

这是我目前正在实施的代码:

saveMessage: function(text, postingWindow){
    var acct = Social.Account.find(this.get("id")),
        msg = Social.store.createRecord(
                  Social.Message,
                  {
                      text: text,
                      account: acct,
                      created: new Date()
                  }
              );

    acct.get("messages").addObject(msg);
    Social.store.commit();
}

基本上,我想要完成的是推迟在 UI 中显示消息,直到我知道我从用户那里获得了成功。但另一方面,如果我能立即获得错误状态,我不想永远等待。

【问题讨论】:

标签: ember.js ember-data


【解决方案1】:

在这里查看我的答案:How should errors be handled when using the Ember.js Data RESTAdapter?

基本上,您可以覆盖 DS.Model 子类上的回调 becameErrorbecameInvalid。还有其他可以挂钩的模型生命周期回调。见这里:http://emberjs.com/guides/models/model-lifecycle/

【讨论】:

  • Sherwin...这似乎不起作用。根据 Ember 聊天室中的一些窥视者,目前这可能会被破坏。
  • 抱歉,可能是这样。我正在使用旧版本的 ember - 你使用的是什么版本?
  • Ember 数据 rev 11 和 Ember 1.0.0-rc.1
  • 对我来说 didDelete, becomeError, becomeInvalid not working, ember-data revision 12, ember rc3.有人可以帮忙吗?
【解决方案2】:

我使用这样的东西:

AdminApp.ApplicationAdapter = DS.RESTAdapter.extend({
    namespace: '',
    host: 'http://localhost/myroomplan_wp/index.php/wp-json',
    ajaxError: function(jqXHR) {
        alert(jqXHR.responseText);
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2011-11-05
    • 2021-08-14
    • 2015-11-06
    相关资源
    最近更新 更多