javascript - 卸载前保存到 IndexedDB

标签 javascript promise indexeddb onbeforeunload

我想在用户离开我的页面之前保存到 IndexedDB。我会定期执行此操作,但由于它很大,我不想经常保存。

我当前的(损坏的)代码如下:

window.addEventListener('beforeunload', (event) => {
    persist(state);
});

在这里,persist 会立即返回一个 promise,并且在我有机会保存状态之前浏览器已经存在。

不幸的是,此时 IndexedDB 似乎没有同步 API。

我可以做些什么来让浏览器等待以便我可以将值存储到 IndexedDB 中吗?

最佳答案

不如在页面卸载时保存到 localStorage 怎么样。然后稍后在 localStorage 中检查此值,并在有更多时间时将其移至 indexedDB。

关于javascript - 卸载前保存到 IndexedDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50751912/

相关文章:

javascript - 不变违规 : You should not use <Switch> outside a <Router>

javascript - 是否需要在 promise 内嵌套捕获?

javascript - 使用 promises 和递归迭代文件目录

configuration - 在 mozilla 开发者工具中看不到 indexedDB 数据库

javascript - 在 IndexedDB 和 AngularJS 上查询 MomentJS 日期 - 日期与字符串

javascript - 无法使用 numtel :mysql for meteor 的 MysqlSubscription 获取数据

javascript - 是否可以使用 KeyMap 绑定(bind)到常规 DOM 元素

javascript - Google Analytics和iframe跨域问题

javascript - 许诺更多问题

storage - 在 beforeunload 上删除 indexeddb 的方法