React Native-AsyncStorage,等待并同步

时间:2018-10-17 08:02:04

标签: javascript react-native promise async-await asyncstorage

我正在使用AsyncStorage,但我认为我并没有正确使用...

file functions.js

{% for comments in comments_list %}
    {{ comments.name }}
{% endfor %}

文件home.js

从“常量/函数”中导入函数;

import { AsyncStorage } from 'react-native';

const Functions = {
    async storeItem(key, item) {
      try {
AsyncStorage.setItem()
          var jsonOfItem = await AsyncStorage.setItem(key, JSON.stringify(item));
          return jsonOfItem;
      } catch (error) {
        console.warn(error.message);
      }
    },
    async retrieveItem(key) {
      try {
        const retrievedItem =  await AsyncStorage.getItem(key);
        const item = JSON.parse(retrievedItem);
        return item;
      } catch (error) {
        console.warn(error.message);
      }
    }
}

export default Functions;

console.warn(产品)已退回

export default class Home extends Component {


  constructor(props) {
    super(props);

    product = Functions.retrieveItem('products');
   console.warn(product);
  }
}

我相信这是因为我在处理对象之前就收到了对象。因为如果我将console.warn放在retrieveItem函数的返回之前,它将很好地显示该对象...

1 个答案:

答案 0 :(得分:2)

是一个承诺,所以...您需要使用

Functions.retrieveItem('products').then((res) => { //do something with res });