<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 第七節:IDBTransaction 對象 `IDBTransaction` 對象用來異步操作數據庫事務,所有的讀寫操作都要通過這個對象進行。 `IDBDatabase.transaction()`方法返回的就是一個`IDBTransaction`對象。 ~~~ var db; var openRequest = window.indexedDB.open('demo', 1); openRequest.onsuccess = function(event) { db = openRequest.result; var transaction = db.transaction(['demo'], 'readwrite'); transaction.oncomplete = function (event) { console.log('transaction success'); }; transaction.onerror = function (event) { console.log('transaction error: ' + transaction.error); }; var objectStore = transaction.objectStore('demo'); var objectStoreRequest = objectStore.add({ foo: 1 }); objectStoreRequest.onsuccess = function (event) { console.log('add data success'); }; }; ~~~ 事務的執行順序是按照創建的順序,而不是發出請求的順序。 ~~~ var trans1 = db.transaction('foo', 'readwrite'); var trans2 = db.transaction('foo', 'readwrite'); var objectStore2 = trans2.objectStore('foo') var objectStore1 = trans1.objectStore('foo') objectStore2.put('2', 'key'); objectStore1.put('1', 'key'); ~~~ 上面代碼中,`key`對應的鍵值最終是`2`,而不是`1`。因為事務`trans1`先于`trans2`創建,所以首先執行。 注意,事務有可能失敗,只有監聽到事務的`complete`事件,才能保證事務操作成功。 `IDBTransaction` 對象有以下屬性。 * `IDBTransaction.db`:返回當前事務所在的數據庫對象`IDBDatabase`。 * `IDBTransaction.error`:返回當前事務的錯誤。如果事務沒有結束,或者事務成功結束,或者被手動終止,該方法返回`null`。 * `IDBTransaction.mode`:返回當前事務的模式,默認是`readonly`(只讀),另一個值是`readwrite`。 * `IDBTransaction.objectStoreNames`:返回一個類似數組的對象 DOMStringList,成員是當前事務涉及的對象倉庫的名字。 * `IDBTransaction.onabort`:指定`abort`事件(事務中斷)的監聽函數。 * `IDBTransaction.oncomplete`:指定`complete`事件(事務成功)的監聽函數。 * `IDBTransaction.onerror`:指定`error`事件(事務失敗)的監聽函數。 `IDBTransaction` 對象有以下方法。 * `IDBTransaction.abort()`:終止當前事務,回滾所有已經進行的變更。 * `IDBTransaction.objectStore(name)`:返回指定名稱的對象倉庫`IDBObjectStore`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看