如何有力地从商店中删除记录,并发现它再次

问题描述:

每当我的后端返回一个错误提示,我想:如何有力地从商店中删除记录,并发现它再次

  1. 丢弃的记录,因为它是在商店。我不在乎记录的状态,我只是想让它离开商店。
  2. 从后端再次请求。现在记录应该处于正常状态。

有没有可能这样做?我可以在becameError吗?怎么样?

这是目前我的代码:

var entry = this.get('content'); 
this.transaction = this.get('store').transaction(); 
this.transaction.add(entry); 
... 
this.transaction.commit(); 
entry.on('becameError', this, function() { this.handleFailure(); }); 

而且handleFailure

handleFailure : function() { 
    console.error('handleFailure > '); 
    this.transaction.rollback(); 
    this.goBack(); 
}, 

我可以做什么handleFailure,使记录被遗忘,再次请求? 或者,作为替代,我怎么能清除任何标志的记录,这样我可以继续正常使用它,没有得到类似的问题:

Uncaught Error: Attempted to handle event `becomeDirty` on <SettingsApp.Scvoicemail:ember1027:08b8fc66-cd90-47a1-9053-4f6fefabdfe3> while in state root.error. 
+0

您使用的是什么版本的Ember-Data? ED 1.0.0-beta * –

+0

目前还在使用v0.13-78-g9602df4 – dangonfast

+0

13中有很多问题,我会比以后跳得更快,否则你会解决这些问题。 – Kingpin2k

record.unload()是做到这一点,但它不是直到1.0测试版推出,并且没有不必要的事务处理容易。