indexedDB idb 库 - 插入多条记录
indexedDB idb library - insert multiple records
使用 javascript Promises,我正在使用 idb 库将数据存储在 indexedDB 中。我想弄清楚如何保证多个 'adds' 将在事务结束之前成功提交。
我的问题是关于在一次交易中添加多条记录,以下哪项是正确的:
var store = transaction.objectStore(...);
for(var i=0; i<records.length; i++) { store.add(records[i]); }
return transaction.complete;
或
var store = transaction.objectStore(...);
return Promise.all(records.map( record => { return store.add(record); }))
.then( function () { return transaction.complete; });
哪一个保证在交易结束前所有记录都添加成功?为什么?
所以根据评论,它们似乎都可以工作。由于 Promise.all 不是必需的,所以第一个更容易阅读。谢谢。
使用 javascript Promises,我正在使用 idb 库将数据存储在 indexedDB 中。我想弄清楚如何保证多个 'adds' 将在事务结束之前成功提交。
我的问题是关于在一次交易中添加多条记录,以下哪项是正确的:
var store = transaction.objectStore(...);
for(var i=0; i<records.length; i++) { store.add(records[i]); }
return transaction.complete;
或
var store = transaction.objectStore(...);
return Promise.all(records.map( record => { return store.add(record); }))
.then( function () { return transaction.complete; });
哪一个保证在交易结束前所有记录都添加成功?为什么?
所以根据评论,它们似乎都可以工作。由于 Promise.all 不是必需的,所以第一个更容易阅读。谢谢。