如何缓存来自 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 或其他一些错误。