目前 React Native 在fetch调用中缓存的默认行为是什么?官方 FB 指南只是说“看看 Mozilla!” 但我们不是在网络浏览器上。由于中间件,我认为缓存行为在这里是自定义的。
假设我这样做: fetch("https://exampleserver.com/myfile.json")
请求是否在调用后自动缓存?
是否myfile.json缓存了整个“会话”的请求内容(即:App 正在运行 active/bg,但未被用户强制关闭)。
AsyncStoragefetch网址再次导致应用程序读取高速缓存。myfile.json多次请求,它是否会在那时基本上忽略缓存并进行所有这些单独的调用?(我在调试器中看到这种行为)当我强制关闭应用程序并重新打开时,此缓存是否仍然存在?
iOS 和 Android 中的这种行为有什么不同吗?
世博会对此有影响吗?
至少知道其中的一些将有助于决定我是否需要像这样使用 AsyncStorage 编写自定义缓存情况 https://gist.github.com/dslounge/18e555250a8df1f8218d702b21910eeb
我正在使用NSURLSession从HTTP服务器请求JSON资源.服务器使用Cache-Control来限制资源缓存在客户端上的时间.
这很好用,但是我还想在内存中缓存一个反序列化的JSON对象,因为它经常被访问,同时继续利用NSURLSession中内置的HTTP缓存机制.
我想我可以保存一些HTTP响应头:Content-MD5,Etag以及Last-Modified反序列化的JSON对象(我使用这3个字段,因为我注意到并非所有HTTP服务器都返回Content-MD5,否则它本身就足够了) .下次我收到JSON对象的响应时,如果这3个字段相同,那么我可以重用以前反序列化的JSON对象.
这是一种确定deserizlied JSON仍然有效的可靠方法.如果没有,我如何确定反序列化的对象是否是最新的?
expo ×1
fetch ×1
http-caching ×1
http-headers ×1
ios ×1
nsurlcache ×1
nsurlsession ×1
react-native ×1