我正在构建一个Android应用程序,我正在努力使用AsyncStorage.我想创建一个函数,它将一个键作为输入并返回给我项目.我的问题是,当我调用此函数时,它返回{_40:0,_65:0,_55:null,_72:null}而不是我正在寻找的值.
这是我的代码:
renderList() { async function save() { await AsyncStorage.setItem('Title', 'hello'); } async function fetch(key) { const value = await AsyncStorage.getItem(key); console.log(value) ; // Return hello return value } save() ; fetch() ; const reponse = fetch() ; console.log(reponse) ; // Return { _40: 0, _65: 0, _55: null, _72: null } return ( <Text style={styles.noteElementTitle}> Aa </Text> )}
编辑:
我试过这个:
async function getbody() { await save(); const response = await fetch('Title'); console.log(response); this.setstate({ Title : response}) ; } getbody() ;
但我仍然得到一个错误:TypeError:undefined不是一个函数(评估’this.setstate({Title:response})’)
解决方法:
您所看到的是由标记为异步的函数返回的Promise对象.您需要在调用函数时使用await,或者将值视为promise并使用then和catch.例如:
await save();const response = await fetch();console.log(response);
要么
save() .then(() => fetch()) .then(response => console.log(response));
另外,请记住,您不应该在渲染函数中使用异步函数.在上面的代码中,您需要将fetch()函数的结果放入组件状态.
总结以上是内存溢出为你收集整理的android – React native / Trouble with AsyncStorage get item全部内容,希望文章能够帮你解决android – React native / Trouble with AsyncStorage get item所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)