Indexeddb: Unterschiede zwischen erfolglos und unvollständig?

Ich verwende zwei verschiedene Ereignisse für den Rückruf, um zu antworten, wenn die IndexedDB-Transaktion abgeschlossen ist oder erfolgreich ist:

Sagen wir ... db: IDBDatabase-Objekt, tr: IDBTransaction-Objekt, os: IDBObjectStore-Objekt

tr = db.transaction(os_name,'readwrite');
os = tr.objectStore();

Fall 1 :

r = os.openCursor();
r.onsuccess = function(){
    if(r.result){
        callback_for_result_fetched();
        r.result.continue;
    }else callback_for_transaction_finish();
}

Fall 2:

tr.oncomplete = callback_for_transaction_finish();

Es ist eine Verschwendung, wenn beide gleich arbeiten. Kannst du mir also sagen, gibt es einen Unterschied zwischen ihnen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage