How to retrieve data with AsyncStorage multiGet in

2020-03-01 20:08发布

问题:

I'm considering how to use React-native AsyncStorage multiGet in docs written:

AsyncStorage.multiGet(keys, (err, stores) => {

But how those keys should properly look like? Here is how they are set within my application:

AsyncStorage.multiSet([['@BarcodeList', JSON.stringify(scanedList)], ['@ScannedBarcode', gotCode]]);

It's ok, but how can i retrieve that data with multiGet? With getItem it seems working, what i am doing wrong? both(getItem, multiGet) of them below.

AsyncStorage.multiGet(["@BarcodeList", "@ScannedBarcode"]).then((scanedList2, scannedBarcode) => {
    //AsyncStorage.getItem("@BarcodeList").then((scanedList2) => {

回答1:

It works the following way, since it gives nested array response

The array contains key as index 0 and value as index 1

 AsyncStorage.multiGet(["@BarcodeList", "@ScannedBarcode"]).then(response => {
            console.log(response[0][0]) // Key1
            console.log(response[0][1]) // Value1
            console.log(response[1][0]) // Key2
            console.log(response[1][1]) // Value2
        })