Saya sedang membina apl dalam React Native yang membuat panggilan ambil yang bergantung pada pelayan untuk mendapatkan maklumat terkini. Saya perasan bahawa ia seolah-olah menyimpan cache respons, dan jika saya menjalankan panggilan ambil sekali lagi, ia mengembalikan respons yang dicache dan bukannya maklumat baharu daripada pelayan.
Fungsi saya adalah seperti berikut:
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(); }
Fungsi api.js yang saya panggil adalah seperti berikut:
loadContent(userid){ let url = `http://####.com/api/loadContent?User_id=${userid}`; return fetch(url).then((response) => response.json()); }
Jawapan Manosim tidak berkesan untuk saya, tetapi membawa saya ke jalan yang sangat berfungsi:
Ini menyelesaikan masalah.
Anda boleh menetapkan
标头
untuk mengelakkan permintaan daripada dicache. Contoh di bawah: