我在一个项目中使用“localforage”并且有一个神秘的问题。通过 redux / immutableJS,我存储了一些设置,例如“locale”,从存储中读取它有时有效,但通常无效。
我迷上了 localeforages 查询系统:
var store = transaction.objectStore(self._dbInfo.storeName);
var req = store.get(key);
req.onsuccess = function() {
var value = req.result;
console.log(value);
// ...
}
这应该输出普通的、序列化的不可变数据字符串:
"[\"~#iM\",[\"locale\",\"de_DE\"]]"
但很多时候我反而收到这个:
"[\"~#iM\",[\"locale\",null]]"
发生错误时,开发人员工具的“应用程序”选项卡显示正确的值(因此不是 NULL)。相同的代码库,绝对没有变化,在当前的 Chrome(从不工作)和 Firefox(有时工作)中显示出不同的行为。
过去有人遇到过类似的错误吗?我不明白普通字符串值有时如何工作,有时却不行。