Javascript 从react本机异步存储而不是promise获取实际值

Javascript 从react本机异步存储而不是promise获取实际值,javascript,asynchronous,react-native,Javascript,Asynchronous,React Native,整个上午我都在试图让AsyncStorage.getItem返回实际项的值,而不是承诺 以下是我所知道的,根据我所读到的所有内容,这些内容应该是有效的: export async function getToken(){ try{ var value = await AsyncStorage.getItem('authToken'); return value; }catch (error){ console.log(error)

整个上午我都在试图让AsyncStorage.getItem返回实际项的值,而不是承诺

以下是我所知道的,根据我所读到的所有内容,这些内容应该是有效的:

export async function getToken(){

    try{
        var value = await AsyncStorage.getItem('authToken');
        return value;
    }catch (error){
        console.log(error);
    }

}   
我已经尝试过将许多项链接在一起。然后,尝试访问承诺的实际值字段,但出于某种原因,该字段也会返回一个承诺。我在这个网站上尝试了几乎所有的建议,它总是会给我一个承诺。

引用异步存储

。。。API中的每个方法都返回一个Promise对象

基于此,如果不使用promise或任何其他异步模式(生成器、回调等),就无法访问该值

您可以将其用作存储,而无需使用承诺。这是在领域中查询数据的方式(引用):


let-token=realm.objects('authToken');//检索所有AuthToken
它只是
AsyncStorage.getItem('credentials')。然后((结果)=>{console.log(结果)})
result是您的值。这仅仅是
承诺。然后(r=>…)
语法。可能重复@G0dsquad是的,我希望它这么简单,我已经尝试了很多次,使用了许多不同的格式,但它仍然返回承诺。我想我可能只是在react-native中寻找一个不同的存储系统。您是否尝试过不等待它并将其从
async
修饰符中删除?根据你的代码上面应该工作。真奇怪!我想我(暂时)通过使调用getToken()函数的每个函数都异步并在每个getToken调用之前放置一个wait来修复它。非常烦人,但它的工作,所以它的工作。