I am using AsyncStorage
in my React Native application to store information about the user. The getItem()
function is asynchronous and requires me to implement a callback when I want to load data from the storage system.
AsyncStorage.getItem("phoneNumber").then((value) => { this.setState({"phoneNumber": value}); }).done();
Because retrieving a value from the storage does not take long, I would like to wait until the operation is complete before continuing execution.
Is it possible to load data in a way that is not Asynchronous? If not, is there an easy way for me to wait until the getItem()
call is complete to continue executing?
getItem() returns a single value AND a promise.
Deprecated. Use one of the community packages instead. AsyncStorage is an unencrypted, asynchronous, persistent, key-value storage system that is global to the app. It should be used instead of LocalStorage.
You can try either add a then after your getItem
.
AsyncStorage.getItem("phoneNumber").then((value) => { this.setState({"phoneNumber": value}); }) .then(res => { //do something else });
Or use await to wait the async
operation to finish
var value = await AsyncStorage.getItem(STORAGE_KEY); //use value to do something else.
try this option and you will not get the
Syntax Error: Await is a reserved word
async getData() { return await AsyncStorage.getItem("@App:KEY"); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With