Javascript React Native AsyncStorage getItem返回承诺值而不是值
我有一个登录表单,我可以发布表单值。在POST请求成功后,我从API返回了身份验证令牌。我需要将此令牌保存在本地存储中以备将来参考。为了保存此身份验证令牌,我使用异步存储。我使用了Javascript React Native AsyncStorage getItem返回承诺值而不是值,javascript,react-native,promise,asyncstorage,Javascript,React Native,Promise,Asyncstorage,我有一个登录表单,我可以发布表单值。在POST请求成功后,我从API返回了身份验证令牌。我需要将此令牌保存在本地存储中以备将来参考。为了保存此身份验证令牌,我使用异步存储。我使用了AsyncStorage.setItem(存储密钥,responseData.auth\u令牌)设置项方法以保存数据 如果我通过以下方式记录此操作: console.log(AsyncStorage.setItem(STORAGE_KEY)) 它作为promise对象返回,如下所示 Promise {_45:
AsyncStorage.setItem(存储密钥,responseData.auth\u令牌)代码>设置项方法以保存数据
如果我通过以下方式记录此操作:
console.log(AsyncStorage.setItem(STORAGE_KEY))代码>
它作为promise对象返回,如下所示
Promise {_45: 0, _81: 0, _65: null, _54: null}
_45
:
0
_54
:
null
_65
:
"efcc06f00eeec0b529b8"
_81
:
1
__proto__
:
反对
如何从AsyncStorage.getItem方法中获取准确的值
这是我的取回方法
fetch('http://54.255.201.241/drivers', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
first_name: this.state.firstName,
mobile_number: this.state.mobileNumber,
vehicle_number: this.state.vehicleNumber,
vehicle_type_id: 1,
})
}).then((response) => response.json()).then((responseData) => {
if (JSON.stringify(responseData.mobile_number) == (this.state.mobileNumber))
{
AsyncStorage.setItem(STORAGE_KEY, responseData.auth_token);
console.log(AsyncStorage.getItem(STORAGE_KEY));
this.props.navigator.push({id: 'Otp'})
}
else
{
Alert.alert("SignUp Failed","Mobile number already taken.")
}
})
.done();
顺便说一句,他们所使用的文档正在等待。我尝试过使用它,但页面没有加载。这里附有屏幕截图。使用Async/Await:
async _getStorageValue(){
var value = await AsyncStorage.getItem('ITEM_NAME')
return value
}
你必须打电话给我
getUserToken().then(res => {
console.log(res);
});
因为这是一个异步调用。是的,只需使用然后
或者,如果您使用的是异步函数
,则使用等待
。是的-然后使用,或者如果您愿意:显示您的提取调用,我们可以尝试帮助我认为这也是正确答案的一部分,因为在我的例子中,我的函数被定义为async,但在我的调用中没有使用async。这应该与最上面的答案合并。我试着正常地调用这个函数,直到我回到这里看到这个,我才开始挠头。是的,换句话说,_getStorageValue()。然后(res…)