Ich erstelle eine App in React Native, die einen Abrufaufruf durchführt, der sich auf den Server verlässt, um die neuesten Informationen zu erhalten. Mir ist aufgefallen, dass die Antwort scheinbar zwischengespeichert wird. Wenn ich den Abrufaufruf erneut ausführe, wird die zwischengespeicherte Antwort anstelle der neuen Informationen vom Server zurückgegeben.
Meine Funktion ist wie folgt:
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(); }
Die von mir aufgerufene api.js-Funktion lautet wie folgt:
loadContent(userid){ let url = `http://####.com/api/loadContent?User_id=${userid}`; return fetch(url).then((response) => response.json()); }
Manosim 的答案对我来说不起作用,但让我走上了一条确实有效的解决方案:
这解决了问题。
您可以设置
标头
以防止请求被缓存。 下面的例子: