javascript - indexedDB idb 库 - 插入多条记录

标签 javascript asynchronous promise indexeddb

使用 javascript Promises,我正在使用 idb用于将数据存储在 indexedDB 中的库。我试图弄清楚如何保证在事务结束之前成功提交多个“添加”。

我的问题是关于在一次交易中添加多条记录,以下哪项是正确的:

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 - indexedDB idb 库 - 插入多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52787105/

相关文章:

Node.js Sequelize 在 forEach 循环中创建新行

javascript - 如何应用向 Ramda 中的每个列表项返回 promise 的函数

javascript - Google Apps 脚本有 promise 吗?

JavaScript 删除某些标签之间的所有内容

javascript - 如何在一个脚本中将函数组合到多个工作表

javascript - 如何递归调用异步函数?

javascript - node-fetch 仅返回待处理的 promise

javascript - 使用 XMLHTTPRequest 从 JavaScript 工作线程进行轮询

ruby - 可延迟与回调接口(interface)

javascript - 嵌套的 fetch-es 完成后如何执行操作?