Search code examples
react-nativeasyncstorage

Waiting for AsyncStorage.getItem()


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?


Solution

  • 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.