使用 Promise 来处理 AsyncStorage.setItem 的返回值可以解决这个问题。下面是一个示例代码:
const saveData = async () => {
try {
await AsyncStorage.setItem('dataKey', 'dataValue');
console.log('Data saved successfully');
// 执行异步操作,例如 fetch
const response = await fetch('https://example.com/api/data');
const data = await response.json();
console.log('Data fetched successfully:', data);
} catch (error) {
console.log('Error:', error);
}
};
saveData();
在这个示例中,首先调用 AsyncStorage.setItem 来保存数据。然后,使用 await 关键字等待数据保存完成。接下来,执行异步操作(例如 fetch),使用 await 关键字等待 fetch 完成,并通过 response.json() 方法将响应转换为 JSON 格式的数据。
注意:使用 async/await 可以让异步操作的代码看起来像同步操作,但实际上仍然是异步执行的。