Reputation: 707
i am using asyncstorage in react native , i have followed the guide from FB. but my promise is not resoving .
componentDidMount() {
async function getitem() {
try {
const retrievedItem = await AsyncStorage.getItem("user");
console.log(retrievedItem);
const item = JSON.parse(retrievedItem);
console.log(item);
return item;
} catch (error) {
console.log(error.message);
}
return;
}
getitem();
}
my console is like .. this...
{"_40":0,"_65":0,"_55":null,"_72":null} AddUser.js:33 {_40: 0, _65:
0,
_55: null, _72: null}
Upvotes: 0
Views: 269
Reputation: 259
You should return item using Promise Pattern.
try like this.
async function getitem() {
try {
const retrievedItem = await AsyncStorage.getItem("user");
const item = JSON.parse(retrievedItem);
return Promise.resolve(item);
} catch (error) {
return Promise.reject(error)
}
// return; <-- don't need this!
}
And, I recommend a better react coding pattern below.
componentDidMount() {
this.getItem("YOUR_KEY").then(response => {
// do stuff using response ..
});
}
async getItem(key) {
//.. do stuff
}
Upvotes: 1