ReactNative AsyncStorage与async / await结合使用。是"等待" setItem操作需要什么?

时间:2016-05-14 21:43:06

标签: async-await react-native ecmascript-6

我正在构建一个类来处理React Native中的存储,并希望使用async / await模式。 getItem有效,我不确定是否需要异步setItem。我吗?

class StorageLayer {

  static async getStorageKey(key) {
    try{
      let value = await AsyncStorage.getItem(key);
      return value;
    }
    catch(e){
      return null;
    }
  }

  static setStorageKey(key, value) {
    console.log("setStorageKey key ->", key, value);

    return AsyncStorage.setItem(key, value);
  }


}

VS

...
static async setStorageKey(key, value) {
    console.log("setStorageKey key ->", key, value);

    return AsyncStorage.setItem(key, value);
}

1 个答案:

答案 0 :(得分:1)

问题是异步的callatack。如果在setItem中抛出异常,如果您没有使用等待,则setStorageKey将不在callstack中。

如果这是可以接受的,可以在这里省略等待。