我遇到了一个与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远程打开
答案 0 :(得分:0)
我修好了,我的问题是有些请求没有完成' /'例如,我正在点击api/{id_user}/posts
api/{id_user}/posts/
的实例。