未定义AsyncStorage值

时间:2018-03-28 20:57:54

标签: react-native

我试图创建一个使用AsyncStorage的单例类。 请遵循以下代码:

import ReactNative, { AsyncStorage } from "react-native";

export default class StorageHandler {
  static async getItem(key) {
    try {
      return await AsyncStorage.getItem(key);
    } catch (error) {
      console.log(error);
    }
  }

  static async setItem(key, value) {
    console.log("Values on StorageHandler", key, value);
    try {
      await AsyncStorage.setItem(key, value);
    } catch (error) {
      console.error(error);
    }
  }
}

我在组件的函数中使用setItem函数,请遵循以下函数:

async onIds(device) {
    console.log("Device info: ", device);
    try {
      await StorageHandler.setItem(StorageConstants.ONESIGNAL_ID, device.userId)
    } catch (error) {
      console.log(error);
    }
  }

但是我收到了错误:

ReferenceError: value is not defined;

StorageHandler上的日志返回:

Values on StorageHandler onesignal_id xxxxx-xxxxx-xxxx-xxxx-xxxxxx

那么,我做错了什么? 最重要的是,它为什么会发生? 我从反应原生开始,所以我有点迷失。

Edit1: 已从getItem catch中删除Resolve。

1 个答案:

答案 0 :(得分:0)

我从我的设备中删除了react-native应用程序,并在没有livereload的情况下重新编译,并且它有效。 也许这是livereload的错误。

编辑:默认情况下,chrome调试器具有选项" Pause on Exceptions"上。 有时承诺没有返回错误,并且通过livereload的行为,似乎chrome正在暂停承诺doe与之前的错误。 只需转动"暂停例外"它就像一个魅力。