react-native – 在AsyncStorage中使用setItem的正确方法
发布时间:2020-12-15 20:11:27 所属栏目:百科 来源:网络整理
导读:我想在AsyncStorage.getItem中使用AsyncStorage.setItem.如何以正确的方式做到这一点? 我的代码如下: createVehicle: function (vehicle,cb) { AsyncStorage.getItem('vehicle') .then(json = { let vehicles = []; if (json) { vehicles = JSON.parse(jso
我想在AsyncStorage.getItem中使用AsyncStorage.setItem.如何以正确的方式做到这一点?
我的代码如下: createVehicle: function (vehicle,cb) { AsyncStorage.getItem('vehicle') .then(json => { let vehicles = []; if (json) { vehicles = JSON.parse(json); let o_vehicle = filter(vehicles,{autralis_id: vehicle.autralis_id}); if (o_vehicle.length > 0) { cb(o_vehicle[0].id); return; } else { vehicles.push(vehicle); } } else { vehicles.push(vehicle); } AsyncStorage.setItem('vehicle',JSON.stringify(vehicles),() => { cb(vehicle.id + 1) }); }).done(); }, 这是正确的方法吗? 解决方法
我已经创建了一个存储服务,可以在需要时通过传递所需的参数在整个项目中使用.看一看 :
export default { async setItem(key,value) { try { return await AsyncStorage.setItem(key,JSON.stringify(value)); } catch (error) { // console.error('AsyncStorage#setItem error: ' + error.message); } },async getItem(key) { return await AsyncStorage.getItem(key) .then((result) => { if (result) { try { result = JSON.parse(result); } catch (e) { // console.error('AsyncStorage#getItem error deserializing JSON for key: ' + key,e.message); } } return result; }); },async removeItem(key) { return await AsyncStorage.removeItem(key); } } 这是迄今为止我遇到过的最佳实践.你也应该使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |