React Native - Obtenir le cache des appels
P粉585541766
P粉585541766 2023-10-21 23:44:23
0
2
530

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()); }


P粉585541766
P粉585541766

répondre à tous (2)
P粉548512637

La réponse de Manosim n'a pas fonctionné pour moi, mais m'a conduit sur un chemin quia vraimentfonctionné :

fetch(url, { headers: { 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'Expires': 0 } })

Cela a résolu le problème.

    P粉738248522

    Vous pouvez définir标头pour empêcher la mise en cache des demandes. Exemple ci-dessous :

    return fetch(url, { headers: { 'Cache-Control': 'no-cache' } }).then(function (res) { return res.json(); }).catch(function(error) { console.warn('Request Failed: ', error); });
      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!