3

我已经查看了有关 asyncStorage 的文档,但不明白为什么它没有保存我的数据。我将 Laravel 用于 API 和 Vue native(react-native 的包装器)。当用户注册时,我通过这种方式生成的令牌

import AsyncStorage from '@react-native-async-storage/async-storage';
...
handleRegister() {
  axios.post('/api/mobile-register', this.formData).then(response => {
    console.log(response.data);
    var token = response.data


    async(token) => {
      try {
        await AsyncStorage.setItem('@user_Token', token)
      } catch (e) {
        // save error
      }

      console.log('Done.')
    }
    console.log('User Registered!');

  }).catch(error => console.log(error));
},

令牌返回并作为字符串记录,用户已注册,但令牌未保存。我试图在挂载的钩子中使用它检查保存的令牌并附加到一个按钮,但它返回 null

 astore(){
    AsyncStorage.getItem('@user_Token').then((res) => console.log(res))

  },

我怎样才能正确地做到这一点?

4

1 回答 1

0

删除不存在的匿名函数并简单地将回调设为异步函数会更有意义:

axios.post('/api/mobile-register', this.formData).then( async response => {
  console.log(response.data);
  var token = response.data
  try {
    await AsyncStorage.setItem('@user_Token', token)
  } catch (e) {
    // save error
  }
  console.log('Done.')
  console.log('User Registered!');
}).catch(error => console.log(error));
于 2020-10-30T20:36:17.283 回答