如何跟踪 indexedDB 中的 ADD 错误?

How to track ADD errors in indexedDB?

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

但是我怎么能找出哪个 lines/objects 没有添加?(因为重复的 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]);
}