反应本地异步存储获取令牌问题

时间:2020-04-15 16:47:01

标签: javascript react-native asyncstorage

我试图在注册功能中获得令牌。但是当我调用getToken时,我获得了令牌,但没有在注册函数中获得。问题是什么?我调用getToken时无法在register()中获得令牌。

getToken = async () =>{
        let token = await AsyncStorage.getItem('id_token')
        console.log(token)
        return token
    }

    register=()=>{
        var token = this.getToken()
        console.log(token)
        fetch('http://192.168.0.1:8887/api/auth/activities/register',{
            method: 'POST',
            headers:{
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ' +token,
            },

        })
    }

2 个答案:

答案 0 :(得分:0)

如果要从另一个函数调用getItem(),则可以这样编辑代码:

getToken = async () => AsyncStorage.getItem('id_token');

register = async () => {
    var token = await this.getToken();
    console.log(token); // Now it should log your token
    fetch('http://192.168.0.125:8887/api/auth/activities/register',{
        method: 'POST',
        headers:{
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            'Authorization': 'Bearer ' +token,
        },

    })
}

答案 1 :(得分:0)

register = async () =>{
        var token = await AsyncStorage.getItem('id_token')
        console.log(token)

我只是简单地使用它,问题就解决了。