我想通过asyncstorage在我的react-native应用程序中存储数据,但是我遇到了问题。我这样使用它:
async componentDidMount() {
console.log("Flag1");
await AsyncStorage.setItem('name', 'I like to save it.');
console.log("Flag2");
}
但由于某种原因,我无法达到" Flag2",而且我没有从await调用中收到错误或数据。 我也尝试过使用try / catch,面临同样的问题。
编辑我注意到AsyncStorage仅在我打开模拟器时才适用于我,在几次使用后它停止工作。
答案 0 :(得分:2)
setItem和getItem是异步的,您应该将回调作为参数发送以获取结果。像
componentDidMount(){
AsyncStorage.setItem('name', 'I like to save it.', ()=>{
console.log("set item success")
AsyncStorage.getItem("name", (error, result)=>{
console.log("get result " + result)
})
});
}
答案 1 :(得分:1)
我认为,最好的做法是,如本机文档here所建议的那样,是用mean(c(4173, 3501, 4434, 3325, 3509))
# [1] 3788.4
try
表达式包装它。
catch
您可以从组件中的任何位置调用此函数。
答案 2 :(得分:0)
您的代码应该有效。 我试过了
async componentDidMount(){
await AsyncStorage.setItem('name', 'I like to save it.');
console.log(await AsyncStorage.getItem('name')); // I like to save it.
}
尝试使用await AsyncStorage.getItem检查是否保存了该数据。