我正在使用Dexie.js有时我在尝试访问数据库时收到错误“数据库打开时无法添加版本”。
是否有处理此错误的最佳实践?在这种情况下我需要关闭数据库并尝试重新打开它吗?
我的代码是这样的(用 CoffeeScript 编写):
@db = new Dexie @db_name
@db.version db_version
.stores stores
.upgrade (transaction) =>
console.warn 'Database upgrade needed'
@db.open()
.then ->
console.log 'Storage initialized'
.catch (error) ->
console.error error.message, error
最佳答案
我在 Dexie 1.3.2 中解决了这个问题,方法是保留对版本实例的引用并用 try-catch-block 包围它的分配:
try
version_instance = @db.version db_version
catch error
if error.message is 'Cannot add version when database is open'
@db.close()
version_instance = @db.version db_version
关于javascript - Dexie - 数据库打开时无法添加版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35892438/