Kar*_*lik 11 javascript offline-caching localforage
我使用localForage在网站上存储一些数据以使其脱机.
我想有一个键并附加到值/数组.
到目前为止,我只能计算如何从存储中检索整个键/值,然后再次追加并设置整个键/值.这似乎非常浪费,并且当键/值变大时可能会出现问题.
var obj = ...
localforage.getItem('documents', function(err, value) {
value.push(obj);
localforage.setItem('documents', value);
}
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来做到这一点?注意性能问题的关键/值必须有多大.
我意识到这是一个老问题,但我想我会提供一些信息。根据 NatureShade 的观点,您无法编辑 localForage 表中的值,您只能拉取该项目并对其进行设置。在使用 localForage 时,我通常为频繁更改变量/对象所做的是为该项目设置一个全局变量。进行更改时,我只更新全局变量,然后更新存储中的项目。这样做的好处是您只需担心设置 localForage 键/值,而不必过多地处理异步方面。您还有一个变量,您也可以随时引用此信息,因此您不必一直使用 .getItem 来访问它。拥有全局变量可能不是最佳实践,但它是一种选择。
var globalObject;
localforage.getItem('documents', function(err, value){
globalObject = value;
}
var obj = ...;
globalObject.push(obj);
localforage.setItem('documents', globalObject);
var obj2 = ...;
globalObject.push(obj2);
localforage.setItem('documents', globalObject);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1096 次 |
| 最近记录: |