我正在使用localForage存储一些数据在一个网站,使它离线。
我希望有一个键并附加到值/数组中。
到目前为止,我只能理解如何从存储中检索整个键/值,然后再追加和设置整个键/值。这看起来非常浪费,当键/值变大时,可能会出现问题。
var obj = ...
localforage.getItem('documents', function(err, value) {
value.push(obj);
localforage.setItem('documents', value);
}难道没有更有效的方法来做到这一点吗?以及注意性能问题的关键/价值必须有多大。
发布于 2018-08-24 14:55:58
我知道这是个老问题,但我想我会提供一些信息。按照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); https://stackoverflow.com/questions/27688442
复制相似问题