私のコードは次のようなものです。
...
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
2番目のリクエスト例外の直後とオンでDONEアラートを受け取るという問題が発生します。
IndexedDBでトランザクションを「再利用」することは可能ですか?
UPD:上記のコードは、最新のChromiumナイトリービルドで期待どおりに機能することがわかりました。