tangshuang / indb

Maybe the best way to understand and use indexedDB. 😄😄😄
60 stars 10 forks source link

{"stack":"Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.\n at xxx.js #5

Open huanghairong2312 opened 3 years ago

huanghairong2312 commented 3 years ago

总结原因: "object stores was not found" 原因:1: store的创建时在 open db后的upgradeneeded事件中触发的,但chrome54并不会触发upgradeneeded事件,需要每次自身版本号自增才可触发,解决此问题; 另外:初始化后,api方法的调用时机,确保后续创建事物,请求数据等操作,是发生在open sucess回调后处理。 其它原因:1:indexdb 兼容性 2: 通过事物操作数据 应放在事物的complete中,而非 当前请求 reques.onsucess 中,因为reques.onsucess成功后,事物仍有可能失败。3: safari 手机隐私模式无权限访问

0undefined0 commented 10 months ago

遇到同样的问题 不稳定复现 complete有具体示例吗

总结原因: "object stores was not found" 原因:1: store的创建时在 open db后的upgradeneeded事件中触发的,但chrome54并不会触发upgradeneeded事件,需要每次自身版本号自增才可触发,解决此问题; 另外:初始化后,api方法的调用时机,确保后续创建事物,请求数据等操作,是发生在open sucess回调后处理。 其它原因:1:indexdb 兼容性 2: 通过事物操作数据 应放在事物的complete中,而非 当前请求 reques.onsucess 中,因为reques.onsucess成功后,事物仍有可能失败。3: safari 手机隐私模式无权限访问

tangshuang commented 6 months ago

可以提供可以复现的环境和代码吗?