javascript - 如何跟踪indexedDB中的ADD错误?

标签 javascript google-chrome indexeddb

我想将多行数据添加到 IndexedDB 中。数据将从 CSV 文件中解析,每一行都有一个 id。只应将新的 ID 添加到数据库中,因此我使用 add。到目前为止效果很好。

但是我怎样才能找出哪些行/对象没有添加?(因为重复的ID)如果我使用onerror并检查对象e 在 Chrome 控制台上,我找不到发送到数据库的对象。所以我只知道,没有添加一些东西,但不知道它是什么。那么如何追踪呢?

// ....

for (var key in csvObject.data ) {
   var request = store.add(csvObject.data[key]);
}

request.onerror = function(e) {
      console.log(e);   // e contains not the value of CSVobject.data[key]
};

最佳答案

你应该这样做。在循环中编写函数并将您的对象作为参数传递给它。

for (var key in csvObject.data) {
  (function(obj) {
    var request = store.add(obj);
    request.onerror = function(e) {
     console.log(obj, e.target.error, e.target.source); // some error messages
    };
  })(csvObject.data[key]);
}

关于javascript - 如何跟踪indexedDB中的ADD错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37057637/

相关文章:

javascript - 如何知道在angularjs的 Controller 中是否选中了单选按钮

javascript - 返回“Then”为“未定义”。 NodeJS 中的 Q

javascript - 模拟/填充索引数据库

html - CSS 中的运算符 (::) 是什么意思?

javascript - 在 indexedDB 中检索数据时出现错误 "A mutation operation was attempted on a database that did not allow mutations."

javascript - 我应该如何计算 IndexedDB 数据库中多个表的总销售额?

javascript - 如何禁用已在另一个 <select> 中选择的选项?

javascript - 将文件发送到浏览器/response.write 替代方案

javascript - 同步 Canvas 绘图/阅读

java - 在浏览器的正常 UI 模式下使用 Selenium-Java 运行测试的 headless (headless) chrome