2011-04-01 33 views
8

IndexedDB如何使用異步事務處理多個選項卡?交易是否完全鎖定了所有相關的對象庫?我怎樣才能保證,如果一個標籤正在處理一個數據,而另一個不是在做同樣的事情?IndexedDB的鎖定模型?

回答

8

IndexedDB規範確定「如果多個READ_WRITE事務試圖訪問相同的對象存儲(即它們有重疊範圍),則首先創建的事務必須是首先訪問對象存儲的事務。由於前一段的要求,這也意味着它是在事務完成之前纔有權訪問對象存儲的唯一事務。「

這意味着,當一個事務處於READ_WRITE模式時,objectStore將被鎖定其他READ_WRITE事務,直到事務結束。

你可以閱讀更多關於這裏的IndexedDB的交易方式 - http://www.w3.org/TR/IndexedDB/#dfn-mode

吉爾