Je crée une application dans React Native qui effectue un appel de récupération qui s'appuie sur le serveur pour obtenir les dernières informations. J'ai remarqué qu'il semble mettre en cache la réponse et si j'exécute à nouveau l'appel de récupération, il renvoie la réponse mise en cache au lieu des nouvelles informations du serveur.
Ma fonction est la suivante :
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(); }
La fonction api.js que j'ai appelée est la suivante :
loadContent(userid){ let url = `http://####.com/api/loadContent?User_id=${userid}`; return fetch(url).then((response) => response.json()); }
La réponse de Manosim n'a pas fonctionné pour moi, mais m'a conduit sur un chemin qui a vraiment fonctionné :
Cela a résolu le problème.
Vous pouvez définir
标头
pour empêcher la mise en cache des demandes. Exemple ci-dessous :