【发布时间】:2023-04-04 08:43:02
【问题描述】:
当我在 localStorage 中写入时,Firefox 中出现此异常的原因可能是什么?
这是写在localStorage中的函数:
try {
localStorage[key] = JSON.stringify(data);
} catch(e) {
.... // CODE TU PRINT THE ERROR
}
仅供参考,我将 Firefox 的 storageQuota 设置为一个高得离谱的数字,以便节省大量数据,因为我的默认值非常低。
如果有人可以提供帮助或需要更多信息,请发表评论或询问。 谢谢!
【问题讨论】:
-
我认为您的问题与本地存储无关。您的数据可能具有导致 JSON 字符串爆炸的循环引用。如果您调用
JSON.stringify(data)而不将其写入本地存储会发生什么?它是否真的生成一个字符串,如果是,它有多大? -
这是我现在要保存的一个数据的长度:22392130,但现在例如没有发生异常。它只是有时发生,一旦发生一次,如果我不重新启动 Firefox,它就会在我每次执行该代码时发生。
-
如果调用 JSON.stringify(data) 而不将其写入本地存储会发生什么?你曾经得到错误吗?
-
我在 localStorage 中有时同时在两个选项卡中写入,可能是线程错误?
-
你能先回答我问了两次的问题吗?为什么您会认为 OUT OF MEMORY ERROR 表示线程问题?
标签: javascript html local-storage