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

^^^^这个函数成功保存了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) 时无法返回值。如何从承诺中返回值?

4

1 回答 1

2

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

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