在React Native中,Async Storage返回的是一个Promise对象,而不是直接返回值。您可以使用async/await或.then()方法来处理返回的Promise对象。
下面是使用async/await的示例代码:
import AsyncStorage from '@react-native-async-storage/async-storage';
const storeData = async () => {
try {
await AsyncStorage.setItem('key', 'value');
console.log('Data stored successfully.');
} catch (error) {
console.log('Error storing data:', error);
}
};
const retrieveData = async () => {
try {
const value = await AsyncStorage.getItem('key');
console.log('Retrieved data:', value);
} catch (error) {
console.log('Error retrieving data:', error);
}
};
storeData();
retrieveData();
在上面的示例中,storeData()函数使用await关键字来等待AsyncStorage.setItem()方法的执行结果。retrieveData()函数也使用await关键字来等待AsyncStorage.getItem()方法的执行结果。
您也可以使用.then()方法来处理返回的Promise对象,下面是相应的示例代码:
import AsyncStorage from '@react-native-async-storage/async-storage';
const storeData = () => {
AsyncStorage.setItem('key', 'value')
.then(() => console.log('Data stored successfully.'))
.catch((error) => console.log('Error storing data:', error));
};
const retrieveData = () => {
AsyncStorage.getItem('key')
.then((value) => console.log('Retrieved data:', value))
.catch((error) => console.log('Error retrieving data:', error));
};
storeData();
retrieveData();
在上面的示例中,storeData()函数使用.then()方法来处理AsyncStorage.setItem()方法的执行结果。retrieveData()函数也使用.then()方法来处理AsyncStorage.getItem()方法的执行结果。
无论您选择使用async/await还是.then()方法,都可以正确处理Async Storage返回的Promise对象。