Ember数据 - 查明记录是否已保存到服务器

时间:2014-11-27 19:12:56

标签: ember-data

我遇到的情况是我有一个余烬数据记录,我不知道它是否已经保存到服务器。有没有办法找出来?

(使用ember-data(1.0.0-beta.11)和ember(1.8.0))

在保存到服务器之前,ID将类似于9gdh5,所以我最初只是检查isNaN(+record.get('id'))但不幸的是,当ember生成的临时ID不包含任何字母时,偶尔会失败。

搜索显示,以前使用的_clientId属性的ember-data似乎已经消失了。我是否遗漏了一些明显的东西,或者我是否需要手动管理一个标记,说明记录是来自服务器还是本地生成的?

以下是有关我的用例的一些信息,以防有助于澄清问题......

我的应用在线上和线下都有效。我的自定义适配器知道它何时脱机并将请求排队到LocalStorage以在线时发送。用户可以更新记录,当适配器收到此更新时,它需要知道记录是否已同步到服务器。如果是这样,它会在联机时将PUT请求排队发送到服务器。如果记录尚未同步,我们无法执行PUT请求,因为我们不知道记录的ID(这是PUT的URL的一部分)。因此,我们必须找到本地存储的POST请求并进行更新。所以我想要一种可靠的方法来确定记录是否已经同步到服务器......

1 个答案:

答案 0 :(得分:2)

http://emberjs.com/api/data/classes/DS.Model.html#property_isNew

这可能是新问题,因为这个问题已经创建,但我来到这里寻找答案,以为我会粘贴我找到的内容。