我遇到了Simperium問題。由本地更新觸發的Simperium中的本地回調
This little plnkr允許一個用戶在我的應用程序上創建一個帳戶,並使用它進行身份驗證。
通過身份驗證後,您可以使用名稱:值對(按更新按鈕即可!)修改mydata_data
存儲桶中的object_to_update
對象。
問題是我總是獲取桶更新object_to_update
對象時執行的本地回調。我看不出爲什麼。更新在本地觸發(我沒有其他的遠程東西在這個頁面上做東西),但即使在本地觸發它也會觸發本地回調。
爲local
文檔說:
這觸發回調每當庫需要檢查對象的當前本地狀態是它向您發送通知事件之前。這樣可以將任何本地更改合併到更新後的對象中。在上面的示例中,您可能正在同步來自名爲「mytextfield」的HTML元素的文本輸入。如果有更新可用(此對象已在其他地方更改),則庫將期望獲取對象的當前狀態,以便它可以將本地更改與遠程更改合併。當您收到通知事件時,您可以直接更新「mytextfield」。
但是更新沒有在其他地方觸發,我在本地觸發它!
我看到更新的旨在成功的唯一途徑是複製更新代碼:
bucket.update ("object_to_update", {on: va});
在當地的回調,與完全相同on
和va
值,但什麼是點複製它在第一位?必須有另一種解釋。