我的代碼是這樣的:我怎樣才能把多個請求在一個事務中IndexedDB的
...
var f1 = function(trans) {
var store = trans.objectStore('ObjectStore');
store.clear();
};
var f2 = function(trans) {
var store = trans.objectStore('ObjectStore');
store.add({id: 1, data: 'text'});
};
...
var trans = DB.connection.transaction(['ObjectStore'], IDBTransaction.READ_WRITE);
trans.onerror = function() { alert('ERROR'); };
trans.oncomplete = function() { alert('DONE'); };
...
問題我們,我得到的clear
後出現的第二個請求例外DONE警報權利。
是否有可能在IndexedDB中「重用」事務?
UPD:我發現上面的代碼正常工作,因爲我期待在最新的Chromium nightly build中。
謝謝你的回答。你能舉個例子嗎? – Fedor
很難爲IDB發佈完整的示例代碼(在查詢之前需要創建對象庫和數據添加設置代碼),但我已經添加了一些關於在哪裏可以找到事務的信息(它是傳遞給'onsuccess ')。使用該事務對象就像使用任何其他事務對象一樣,所以無論你爲此擁有什麼代碼都應該再次工作。 – buley