gpt4 book ai didi

react-native - React Native fetch API 无法禁用缓存

转载 作者:行者123 更新时间:2023-12-03 20:53:10 26 4
gpt4 key购买 nike

我正在使用与 redux 集成的 react native expo 构建 android 应用程序。使用 fetch 方法调用 API,但始终显示缓存的结果。服务器第二次没有收到请求。我尝试使用以下代码禁用缓存。

export const mymails = (token) => {
return fetch(
API_URL+'?random_number='+ new Date().getTime(), {
method: 'GET',
headers: getHeaders(token)
})
.then(response => response.json());
};

getHeaders = (token) => {
return {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Token token='+token,
'Cache-Control': 'no-cache, no-store, must-revalidate',
'Pragma': 'no-cache',
'Expires': 0
};
}

当我通过 Postman 客户端调用 API 时,我看到了不同的结果(未缓存)。我尝试添加随机数作为参数并设置缓存控制 header ,但仍返回缓存结果。还有什么我可以尝试的。

谢谢

最佳答案

您如何设置用于获取请求的 header 一定有问题。

尝试以下,

您可以点击 Official Fetch API 中的相同链接。

const mymails = (token) => {

var myHeaders = new Headers();
myHeaders.set('Accept', 'application/json');
myHeaders.set('Content-Type', 'application/json');
myHeaders.set('Authorization', 'Token token=' + String(token));
myHeaders.set('Cache-Control', 'no-cache');
myHeaders.set('Pragma', 'no-cache');
myHeaders.set('Expires', '0');

return fetch(
API_URL + '?random_number=' + new Date().getTime(), {
method: 'GET',
headers: myHeaders
})
.then(response => response.json());
};

关于react-native - React Native fetch API 无法禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47700360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com