首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >taffyDB不保存数据

taffyDB不保存数据
EN

Stack Overflow用户
提问于 2018-04-26 08:26:43
回答 2查看 1.5K关注 0票数 3

我使用TaffyDB拥有一个本地/离线数据库

但是不幸的是,在刷新浏览器选项卡之后,它丢失了数据。

示例:我有一个初始变量

代码语言:javascript
复制
var clist = TAFFY();

按钮上的onclick事件-它执行以下语句

代码语言:javascript
复制
clist.insert({"123" , count:count , color:color , size:size});

单击它并重新加载浏览器选项卡后,我将执行以下语句

代码语言:javascript
复制
alert(clist({PID : "123"}).count());//output 0

但是,前面的语句应该输出1。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-26 13:33:49

但是不幸的是,在刷新浏览器选项卡之后,它丢失了数据。

是的,这就是TaffyDB的工作原理。

但是,前面的语句应该输出1。

不,不应该。

TaffyDB只在内存中.一旦脚本的上下文被删除,比如在页面重新加载时,它就消失了。如果你想坚持下去,你必须自己去做。

最简单的方法是将整个数据集序列化为JSON,并将其插入localstorage中,前提是它足够小,可以适应那里。

票数 3
EN

Stack Overflow用户

发布于 2018-10-17 00:08:09

根据taffydb文件,要将数据持久化到localStorage,可以使用db.store()

代码语言:javascript
复制
let db = TAFFY()
db.store('mydb')

这个单一的函数既可以存储内存中的当前数据,也可以检索以前存储的数据。因此,如果在脚本开始时调用store,则在窗口刷新时,将加载存储的数据。

当心:,但是db.store()的保存例程被称为非阻塞过程.因此,如果您希望立即检索使用localStorage上的其他调用存储的数据,则很可能不存在这些数据。因此,store()的最佳实践是在加载窗口时调用它,然后在希望保存现有数据的时候调用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50038267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档