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

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 qui a vraiment fonctionné :

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!