taffydb不能保存数据



我正在使用taffydb有一个本地/离线数据库

但不幸的是 - 刷新浏览器选项卡后 - 它失去了数据

示例:我有这个初始变量

var clist = TAFFY();

按钮上的onclick事件 - 执行此语句

clist.insert({"123" , count:count , color:color , size:size});

单击它 - 然后重新加载浏览器选项卡,我执行此语句

alert(clist({PID : "123"}).count());//output 0

但是,先前的语句应输出1

但不幸的是 - 刷新浏览器选项卡后 - 它失去了数据

嗯,是的,这就是taffydb的工作方式。

但是,先前的语句应输出1

不,不应该。

taffydb仅在内存中。一旦您的脚本上下文被拆除,例如在"重新加载"页面上,它就消失了。如果您想坚持下去,就必须自己做。

最简单的事情是将整个数据集序列化为JSON并将其推入localstorage,只要它足够小以适合那里。

根据taffydb文档,要将数据持续到LocalStorage,您可以使用db.store()

let db = TAFFY()
db.store('mydb')

此单个功能既将存储当前数据中的内存数据,又将检索先前存储的数据。因此,如果您在脚本开头调用存储,则在窗口刷新下,将加载存储的数据。

当心:,但是,db.store()的保存例程称为非阻滞过程...因此,如果您希望立即使用LocalStorage上的其他调用来检索您存储的数据,它将可能不在那里。因此,商店((的最佳实践是在窗口加载上调用它,然后在您希望保存现有数据时。

最新更新