我试图创建一个使用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。
答案 0 :(得分:0)
我从我的设备中删除了react-native应用程序,并在没有livereload的情况下重新编译,并且它有效。 也许这是livereload的错误。
编辑:默认情况下,chrome调试器具有选项" Pause on Exceptions"上。 有时承诺没有返回错误,并且通过livereload的行为,似乎chrome正在暂停承诺doe与之前的错误。 只需转动"暂停例外"它就像一个魅力。