我已经看过了asyncStorage上的文档,但不明白为什么它不保存我的数据。我使用的是Laravel for 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));
},该令牌将作为字符串返回并记录,并且用户已注册,但该令牌未保存。我尝试在挂载的钩子中使用this检查保存的令牌,并将其附加到一个按钮上,但它返回null
astore(){
AsyncStorage.getItem('@user_Token').then((res) => console.log(res))
},我如何才能正确地执行此操作?
发布于 2020-10-31 04:36:17
删除不存在的匿名函数并简单地将回调设为异步函数会更有意义:
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));https://stackoverflow.com/questions/64615321
复制相似问题