2013-10-01 13 views
0

我遇到了Simperium問題。由本地更新觸發的Simperium中的本地回調

This little plnkr允許一個用戶在我的應用程序上創建一個帳戶,並使用它進行身份驗證。

通過身份驗證後,您可以使用名稱:值對(按更新按鈕即可!)修改mydata_data存儲桶中的object_to_update對象。

問題是我總是獲取桶更新object_to_update對象時執行的本地回調。我看不出爲什麼。更新在本地觸發(我沒有其他的遠程東西在這個頁面上做東西),但即使在本地觸發它也會觸發本地回調。

local文檔說:

這觸發回調每當庫需要檢查對象的當前本地狀態是它向您發送通知事件之前。這樣可以將任何本地更改合併到更新後的對象中。在上面的示例中,您可能正在同步來自名爲「mytextfield」的HTML元素的文本輸入。如果有更新可用(此對象已在其他地方更改),則庫將期望獲取對象的當前狀態,以便它可以將本地更改與遠程更改合併。當您收到通知事件時,您可以直接更新「mytextfield」。

但是更新沒有在其他地方觸發,我在本地觸發它!

我看到更新的旨在成功的唯一途徑是複製更新代碼:

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

在當地的回調,與完全相同onva值,但什麼是點複製它在第一位?必須有另一種解釋。

回答

1

我相信圖書館只是簡單地嚮應用程序查詢應該發送給服務器的數據。預計對local的調用將始終返回對象的最新本地數據(即使您在應用中的其他位置更改了它)。