我想在用户离开我的页面之前保存到IndexedDB。我定期这样做,但由于它相当大,我不想太频繁地存钱。
我当前的(坏的)代码如下:
window.addEventListener('beforeunload', (event) => {
persist(state);
});
在这里,persist立即返回一个promise,浏览器在我有机会保存状态之前就已经存在了。
不幸的是,在这一点上,IndexedDB似乎没有同步应用程序接口。
有什么方法可以让浏览器等待,这样我就可以将值存储到IndexedDB中吗?
发布于 2018-06-08 12:22:16
不如你在页面卸载时保存到localStorage。然后,稍后在localStorage中检查此值,并在有更多时间时将其移动到indexedDB中。
发布于 2018-06-08 09:12:54
在你的页面中可以先有一个类似保存按钮的东西。
然后,当用户关闭页面时,您可以在不保存页面的情况下关闭页面时显示确认请求对话框。你可以利用这段时间来保存数据,或者由于这是通知用户保存数据,用户可以手动按下保存按钮来保存数据。
https://stackoverflow.com/questions/50751912
复制相似问题