8

假设我正在尝试将 Foo 记录保存到后端。无论出于何种原因,后端永远不会返回(成功或失败)。

从我所见,看起来 foo 处于“飞行中”状态。这种状态的问题是它完全锁定了记录——你不能对它做任何事情(不能回滚,不能卸载)。我理解为什么会这样(试图保持一致)。但是对于这样的边缘情况,你能做些什么吗?

4

2 回答 2

7

我没有尝试过,但您可能会通过查看 ember-data 的源代码,特别是 states.js 找到解决方案:https ://github.com/emberjs/data/blob/master/packages/ember-data/lib/系统/模型/states.js#L306-L351

不确定这里是否有可靠的最佳实践,但我最好的猜测是您可以通过发送到模型的 stateManager来恢复。becameInvalid

于 2013-07-01T06:19:08.983 回答
6

基于Mike 的建议,我得到了以下结果:

record.send('becameInvalid');
record.unloadRecord();
于 2014-12-12T00:58:04.650 回答