我正在用 React Native 建立一個應用程序,它進行依賴伺服器的最新資訊的獲取呼叫。我注意到它似乎緩存了回應,如果我再次運行該 fetch 調用,它會返回快取的回應,而不是來自伺服器的新資訊。
我的功能如下:
goToAll() { AsyncStorage.getItem('FBId') .then((value) => { api.loadCurrentUser(value) .then((res) => { api.loadContent(res['RegisteredUser']['id']) .then((res2) => { console.log(res2); this.props.navigator.push({ component: ContentList, title: 'All', passProps: { content: res2, user: res['RegisteredUser']['id'] } }) }); }); }) .catch((error) => {console.log(error);}) .done(); }
我呼叫的 api.js 函數如下:
loadContent(userid){ let url = `http://####.com/api/loadContent?User_id=${userid}`; return fetch(url).then((response) => response.json()); }
Manosim 的答案對我來說不起作用,但讓我走上了一條確實有效的解決方案:
這解決了問題。
您可以設定
標頭
以防止請求被快取。 下面的例子: