Codeflow是-
我正在检查AsyncStorage中是否存在名为listobject的条目。
如果它不存在,那么我创建一个对象,添加一些属性并设置存储。我将存储获取到obj中,因为我需要在下一个if条件中进行比较。
如果listobject条目已经存在(第二次),则直接进入第二个块并进行比较。(我在第一步中获取值到obj中的原因是因为我可以有一个公共的obj.data.isdirty条件。
这是我的代码-
AsyncStorage.getItem('listobject').then((obj) => {
if(obj == undefined)
{
var obj1 ={};
obj1.data ={};
obj1.data.isdirty = true;
console.log("obj1 = "+ JSON.stringify(obj1));
AsyncStorage.setItem('listobject',obj1);
obj = AsyncStorage.getItem('listobject');
console.log("obj = "+ JSON.stringify(obj));
}
if(obj.data.isdirty)
{
obj.data.isdirty = false;
AsyncStorage.setItem('listobject',JSON.stringify(obj));
return AsyncStorage.getItem('listobject');
}
}).done();
我有两个问题,这是同一个问题的结果-
- 日志。我正在设置obj1并获取相同值的obj(以便我可以比较下一个if条件)。为什么我不能得到我已经设置的相同值?
12-03 00:27:56.281 32598-487/com.abc D/ReactNativeJS:'obj1 = {"data":{"isdirty":true}}'
12-03 00:27:56.286 32598-487/com.abc D/ReactNativeJS:'obj = {"_37":0,"_12":null,"_59":[]}'
- 这是上述日志的最终结果。我得到了list.data.isdirty未定义的列表。我猜这是因为我访问的JSON格式在obj中不存在,即obj.data.isdirty不存在。那么,我该如何解决这个问题?
undefined is not an object (evaluating 'list.data.isdirty');
请告诉我我做错了什么?