将Promise返回的字符串转换为数组

时间:2018-11-21 20:32:12

标签: arrays json react-native promise

我在将promise返回的字符串转换为数组时遇到麻烦。 Promise由React Native中的AsyncStorage返回。我已经尝试过JSON.parse和.split(),但是我认为我没有正确使用它们。之后,我需要能够从数组中调用特定的键值对。如果您有任何建议,请告诉我。我已经在控制台日志中包含了我的代码,错误的屏幕截图和返回的值

onLocationsSelectionChange = (locationsSelected) => {
console.log("does this work", locationsSelected, this.state.locationsSelected.length)
AsyncStorage.setItem('@MySuperStore:locationsSelected', JSON.stringify(this.state.locationsSelected));

const myArray = AsyncStorage.getItem('@MySuperStore:locationsSelected')
console.log('test Array', (myArray));
console.log('myArray', JSON.parse(myArray))
this.setState({locationsSelected});

};

图片:https://i.stack.imgur.com/KEdlg.png

1 个答案:

答案 0 :(得分:0)

AsyncStorage文档中,您应该这样获得商品:

_retrieveData = async () => {
  try {
    const value = await AsyncStorage.getItem('TASKS');
    if (value !== null) {
      // Here use JSON.parse(value)
    }
   } catch (error) {
     // Error retrieving data
   }
}