React native 将异步值设置为不工作的变量

React native 将异步值设置为不工作的变量,react-native,asyncstorage,React Native,Asyncstorage,首先看一下代码 AsyncStorage.getItem("CartItem").then(val => console.log(val)) 当我运行它时,它会记录这个对象数组 [{"id":"6084844531f6aa1a980272e6","name":"Garlic","price":300,"qty":10,"totalPrice

首先看一下代码

AsyncStorage.getItem("CartItem").then(val => console.log(val))
当我运行它时,它会记录这个对象数组

[{"id":"6084844531f6aa1a980272e6","name":"Garlic","price":300,"qty":10,"totalPrice":3000,"image":"Some image"}]
我需要将从异步存储返回的值分配给如下全局变量

var cart
AsyncStorage.getItem("CartItem"). then(val => cart = val)
console.log(cart)
但是cart变量不影响它记录
undefined

这是react native中的一个函数,不是一个组件,所以请不要说将
val
存储到state


任何帮助都将不胜感激,提前感谢

对AsyncStorage的调用显然是异步的。然后,当异步存储获取检索到的值时,将执行块。当前,您的系统正忙于检索值,但在检索值之前,它会转到下一行

下面的代码应该可以工作

 var cart = await AsyncStorage.getItem("CartItem")