我需要在try / catch中包装indexeddb事务吗?

时间:2017-03-23 19:38:56

标签: indexeddb

看起来indexeddb有一个onerror事件,所以我还需要将它包装在try catch中吗?

try {
var reqst = window.db.transaction('xyz')
  .objectStore('xyz')
  .get(1234) 
reqst.onsuccess = success
reqst.onerror = error
} catch(err) {
  console.log(err.stack)
}

function success(response) {}
function error(response) {}

我能想到的第一个场景是xyz是否不存在,但这是在开发过程中会遇到的错误。

1 个答案:

答案 0 :(得分:1)

IDBDatabase.transaction can synchronously throw an error in various situations,所以如果你想在其中一个错误发生时做某事,你需要一个try / catch块。

与其他方法相同,例如IDBTransaction.objectStoreIDBObjectStore.get等。