如何缓存来自 API 响应的图像
How to cache images from an API response
我正在从 API 响应中接收图像 URL,我想缓存每个图像。我尝试只使用 cache.addAll 但它不起作用,因为图像是不透明的响应。我正在考虑使用 fetch
获取每个图像并让路由缓存它们,但我不确定这是否是最好的方法。还有其他更好的选择吗?
this Stack Overflow answer 中有一些指南解释了如何缓存不透明响应;它的要点是:
const request = new Request('https://third-party-no-cors.com/', {
mode: 'no-cors',
});
// Assume `cache` is an open instance of the Cache class.
fetch(request).then(response => cache.put(request, response));
需要注意的是,您的代码无法知道您缓存的是有效响应,还是 HTTP 404 或其他一些错误。
我正在从 API 响应中接收图像 URL,我想缓存每个图像。我尝试只使用 cache.addAll 但它不起作用,因为图像是不透明的响应。我正在考虑使用 fetch
获取每个图像并让路由缓存它们,但我不确定这是否是最好的方法。还有其他更好的选择吗?
this Stack Overflow answer 中有一些指南解释了如何缓存不透明响应;它的要点是:
const request = new Request('https://third-party-no-cors.com/', {
mode: 'no-cors',
});
// Assume `cache` is an open instance of the Cache class.
fetch(request).then(response => cache.put(request, response));
需要注意的是,您的代码无法知道您缓存的是有效响应,还是 HTTP 404 或其他一些错误。