2

React Native の AsyncStorage を使用して認証トークンを保存しています。認証トークンは、新しい http 要求に使用する必要があるときに返されます。正常に保存してコンソールログに記録できますが、値を返すのに問題があります。のように、別のウィンドウで呼び出したい

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

しかし、それはうまくいきません。

 LocalDb.getAccessToken();

一方、これは getAcessToken() に console.log がある場合に機能します

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();
}

return(value) を使用すると、値を返すことができません。promise から値を返すにはどうすればよいですか?

4

1 に答える 1

2

getAccessTokenpromise 呼び出しで関数を返す必要があります。また、値を含むプロミスを返します...このように。

exports.getAccessToken=function(){
 return AsyncStorage.getItem('access_token')
 .then((value) => {
     if(value) {
      console.log(value);
      return value;
    }
   })
}
于 2016-05-31T15:26:43.647 に答える