Simperium中的本地回调由本地更新触发

时间:2013-10-01 11:33:11

标签: simperium

我遇到了Simperium的问题。

This little plnkr允许一位用户在我的应用上创建一个帐户,并通过该帐户进行身份验证。

进行身份验证后,您可以使用名称:值对修改object_to_update存储桶中的mydata_data对象(按更新按钮即可执行此操作!)。

问题是我总是在更新object_to_update对象时获取桶的本地回调。我不明白为什么。更新是在本地触发的(我没有其他远程东西在这个页面上做东西),但即使在本地触发也总是触发本地回调。

local的文档说:

  

只要库需要在向您发送通知事件之前检查对象的当前本地状态,就会触发此回调。这样就可以将任何本地更改合并到更新的对象中。在上面的示例中,您可能正在同步来自名为“mytextfield”的HTML元素的文本输入。如果有可用的更新(此对象在其他位置已更改),则库将期望获取对象的当前状态,以便它可以将本地更改与远程更改合并。当您收到通知事件时,您可以直接更新“mytextfield”。

但更新并未在其他地方触发,我在本地触发!

我认为更新成功的唯一方法是复制更新代码:

bucket.update ("object_to_update", {on: va});

在本地回调中,具有完全相同的onva值,但首先重复它的重点是什么?必须有另一种解释。

1 个答案:

答案 0 :(得分:1)

我相信图书馆只是在查询应用程序,以获取应发送给服务器的数据。预计对local的调用将始终返回对象的最新本地数据(即使您已在应用中的其他位置更改过它)。