Codeflow是 -AsyncStorage.getItem回報:陣營本地
我檢查,如果一個條目稱爲的ListObject存在於AsyncStorage。
如果它不存在,那麼我創建一個對象,添加一些屬性並設置存儲。我得到的商店爲obj,因爲我必須在接下來的如果條件進行比較。
如果列表對象條目已經存在(第2次),則它直接進入第2個塊,並進行比較。 (我之所以得到值在第一步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();
我有2個問題這是同一發出─
- 日誌的結果。我設置OBJ1並獲得了obj中的相同的值(這樣我就可以比較下,如果條件)。爲什麼我不能得到相同的價值,我有集?
12-03 00:27:56.281 32598-487/com.abc d/ReactNativeJS: 'OBJ1 = { 「數據」:{ 「isdirty」:真}}'
-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不存在。那麼,我該如何克服這一點?
未定義不是(評價 'list.data.isdirty')的對象;
請告訴我我做錯了什麼?
obj返回是一個字符串,所以你必須在第二個if之前應用JSON.parse。 – ivillamil
我也試過,它不工作。 – bozzmob