处理错误后提交索引数据库事务
IndexedDB transaction commit after handling error
我一直在尝试将2,5百万随机生成的人放入数据库中。在代码中,我做了一批 2.500 个用户,然后提交事务。
ChanceJS 库生成一个 GUID,但并不总是唯一的。因此,每当它不唯一时,我希望它将错误放在数组中,并忽略.add并提交事务。
var transaction = db.connection.transaction(["users"], "readwrite");
var request = objectStore.add(newuser);
for (i=0;i<batchsize;i++){
request.onerror = function(event) {
event.cancelBubble = true;
// Some kind of CONTINUE event here
}
}
事务有效,我可以用所有用户填充我的数据库。但是,将创建索引"bsn"放在唯一上会使它失败。
var index = objectStore.createIndex("bsn", "bsn", { unique: true });
当请求失败时,事件的默认操作是中止其 rransaction。如果您不希望出现这种行为,请在请求或事务的错误处理程序上调用 event.preventDefault()。
调用event.preventDefault()
将阻止事务中止,但事件仍将传播到 transaction.onerror 处理程序,这可能会令人困惑。如果您想摆脱该消息,只需致电 event.stopPropagation()
.更多信息和示例代码可以在此答案中找到。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 使用javascript从数据库中添加表
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 电话间隙等待数据库事务完成
- 在 Phonegap 中的数据库事务语句之前发出警报触发
- Azure 自定义 API:执行数据库事务返回超时
- 如何使用 Node 从单个连接/事务进行多个数据库调用.js而且繁琐
- 如何在事务中创建索引数据库存储
- 处理错误后提交索引数据库事务
- 处理数据库事务返回
- 如何等待数据库事务完成它的操作并在phonegap中返回值
- Firebase事务不会更新Firebase数据库中的实际值
- 我如何才能确保我不会;t执行同一数据库事务两次
- HTML5数据库-事务VS executeSql回调顺序
- HTML5/js sqlite数据库不输入事务功能
- 使用web数据库的Phonegap错误:"表达式mydb的结果.事务不是一个函数
- Javascript数据库事务处理错误,无法准备没有列的语句
- 如何传递参数到PhoneGap数据库事务函数