javascript - 如何判断 IndexedDB 何时手动关闭?
问题描述
当数据库的升级阶段通过时,我需要创建一个对象存储。为此,我正在尝试使用新版本关闭并重新打开数据库,并在onupgradeneeded
事件中创建商店。
IndexedDB 有一个close()方法
立即返回并在单独的线程中关闭与数据库的连接。
但是,它不会像其他类似方法一样返回 IDBRequest。此方法等待正在运行的事务完成,因此可以延迟关闭。我需要知道关闭事件,所以我可以重新打开它。有一个不会触发的onclose事件,因为连接没有意外关闭:
当数据库连接意外关闭时触发。也可通过 onclose 属性获得。
我不想粗鲁地定期检查打开尝试中的onblocked事件。在我的测试IndexedDB.open()
中成功地重新打开了数据库,但如果不能保证,我无法将其推送到生产环境中。在w3 规范中,他们写了done flag,但我在浏览器控制台中找不到它。
解决方案
我不认为你可以?如果我理解正确,也许 Joshua Bell 对如何检查 indexedDB 实例是否打开?有助于回答您的问题。
推荐阅读
- git - Repo 分支默认为 main 而不是 master
- file - 如何从 sml 中的文本文件中获取随机行?如何在sml中制作多选题程序?
- java - Swagger (OpenAPI 3.0) 仅在 Post 上隐藏字段,而不是在 Put 上
- javascript - 传递变量以获取 API
- angular - Angular FE 和 fastAPI GCP VM 上的 CORS 错误
- amazon-web-services - 将特定日志从 AWS Cloudtrail 移动到 S3
- python - 如何在 Dash 中动态更新下拉列表?
- azure-data-factory - 如何使用 Azure 数据流过滤具有多个案例的单列记录
- node.js - 类型错误:#
不是函数 - vaadin - 如何在vaadin路由器中制作带有参数的动态路由器