卸载前保存到 IndexedDB
Save to IndexedDB beforeunload
我想在用户离开我的页面之前保存到 IndexedDB。我定期这样做,但由于它很大,我不想经常保存。
我当前的(损坏的)代码如下:
window.addEventListener('beforeunload', (event) => {
persist(state);
});
在这里,立即坚持 returns 在我有机会保存状态之前,一个承诺和浏览器已经存在。
不幸的是,此时 IndexedDB 似乎没有同步 API。
我可以做些什么来让浏览器等待以便我可以将值存储到 IndexedDB 中吗?
您的页面中首先可以有类似保存按钮的内容。
然后当用户关闭页面时,您可以在不保存的情况下显示关闭页面的确认请求对话框。您可以利用这段时间来保存数据,或者由于通知用户保存数据,用户可以手动按保存按钮进行保存。
您改为在页面卸载时保存到 localStorage 怎么样?然后稍后在 localStorage 中检查此值,并在有更多时间时将其移至 indexedDB。
我想在用户离开我的页面之前保存到 IndexedDB。我定期这样做,但由于它很大,我不想经常保存。
我当前的(损坏的)代码如下:
window.addEventListener('beforeunload', (event) => {
persist(state);
});
在这里,立即坚持 returns 在我有机会保存状态之前,一个承诺和浏览器已经存在。
不幸的是,此时 IndexedDB 似乎没有同步 API。
我可以做些什么来让浏览器等待以便我可以将值存储到 IndexedDB 中吗?
您的页面中首先可以有类似保存按钮的内容。
然后当用户关闭页面时,您可以在不保存的情况下显示关闭页面的确认请求对话框。您可以利用这段时间来保存数据,或者由于通知用户保存数据,用户可以手动按保存按钮进行保存。
您改为在页面卸载时保存到 localStorage 怎么样?然后稍后在 localStorage 中检查此值,并在有更多时间时将其移至 indexedDB。