2016-05-31 50 views
0

我正在使用React Native的AsyncStorage存储授权令牌,在需要使用新的http请求时将返回授权令牌。虽然我可以成功存储它并进行控制台日志记录,但我在返回值时遇到了一些麻烦。我想在另一个窗口调用它,以时尚的方式无法从React Native中的AsyncStorage返回令牌

var x= LocalDb.getAcessToken(); 
console.log(x); 

然而,它赢得了工作。

LocalDb.getAccessToken(); 

这在另一方面,当工作getAcessToken()在它

exports.storeToken=function(token){ 
    AsyncStorage.setItem('access_token', token); 
    } 

^^^^这个功能成功保存令牌

exports.getAccessToken=function(){ 
    AsyncStorage.getItem('access_token') 
    .then((value) => { 
     if(value) { 
     console.log(value); 
    **//I want to return the value here, to use in another function** 
     } 
    }) 
    .done(); 
} 

我可以一直CONSOLE.LOG当我使用return(value)时不返回值。我如何从承诺中返回一个价值?

回答

0

您需要使用promise调用返回getAccessToken函数。我也会用这个价值来回报承诺......就像这样。

exports.getAccessToken=function(){ 
return AsyncStorage.getItem('access_token') 
.then((value) => { 
    if(value) { 
     console.log(value); 
     return value; 
    } 
    }) 
} 
+0

我也不认为你需要调用'.done()'调用。 –

相关问题