当Debug JS Remotely关闭时,AsyncStorage.getItem返回undefined - React Native

时间:2017-11-05 14:17:43

标签: react-native react-native-ios

我遇到了一个与AsycnStorage如此奇怪的问题。我试图发送带有身份验证令牌的4个请求,该令牌保存在AsycnStorage上,问题是我只获取了一次令牌,在第一个请求中工作正常,但在第二个请求中,AsycnStorage将undefined返回为值。这很奇怪,因为只有当Debug JS Remotely关闭时才会发生,如果我用Debug JS测试它远程启用它可以正常工作。它也只是在iOS上运行,在Android上可以正常使用Debug JS Remotely打开并关闭。

export async function fetchApi(endPoint, payload = {}, method = 'get', headers = {}){
const accessToken = await AsyncStorage.getItem('token');
console.log(accessToken); 
return fetchival(`${apiConfig.url}${endPoint}`, {
    headers: _.pickBy({
        ...(accessToken ? {
            Authorization: `Bearer ${accessToken}`,
        } : {}),
        ...headers,
    }, item => !_.isEmpty(item)),
})[method.toLowerCase()](payload)
.catch((e) => {
    if (e.response && e.response.json) {
        e.response.json().then((json) => {
            if (json) throw json;
            throw e;
        });
    } else {
        throw e;
    }
});

};

此代码适用于:
安装了Debug JS的Android远程打开
安装了Debug JS的Android远程关闭
带有Debug JS的iOS远程打开

1 个答案:

答案 0 :(得分:0)

我修好了,我的问题是有些请求没有完成' /'例如,我正在点击api/{id_user}/posts api/{id_user}/posts/的实例。