使用缓存存储 API 保存自定义响应

2024-03-13

我在用着缓存存储 https://developer.mozilla.org/en-US/docs/Web/API/Cache构建渐进式 Web 应用程序 (PWA)。我需要一个自定义对象put https://developer.mozilla.org/en-US/docs/Web/API/Cache/put进入我的缓存,但缓存接受Response https://developer.mozilla.org/en-US/docs/Web/API/Response对象作为参数。所以我的问题是如何正确创建其中包含 JSON 的 Response 对象。我知道我可以使用其他缓存策略( localStorage 或 IndexedDB ),但我对这种情况特别好奇 - 将自定义 JSON 作为请求保存在缓存中。

var myJSON = JSON.stringify({custom:"object"}); 
caches.open('cache-name').then(function (cache) {
  var response = new Response(); //My JSON should go into this Response obj. 
  return cache.put('cache-name', response);
});

当然;如果这对您的网络应用程序有意义,则可以这样做。您可以在支持缓存存储 API 的任何地方执行此操作,即在服务工作线程中或从受控页面的上下文中执行此操作。这是一个基本示例:

const data = {
  1: 2,
  3: 4
};

const jsonResponse = new Response(JSON.stringify(data), {
  headers: {
    'content-type': 'application/json'
  }
});

caches.open('json-cache').then(cache => cache.put('/data.json', jsonResponse));

您可以通过日志记录手动确认您期望的数据已被存储,例如

caches.match('/data.json').then(r => r.json()).then(console.log)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用缓存存储 API 保存自定义响应 的相关文章

  • post方法的问题(使用fetch和express)

    我是一个非常初学者 所以我希望我的问题不是那么愚蠢 我想要做的是将经度和纬度从客户端 JavaScript 传递到服务器端的 Node js 中 我正在使用 fetch 和express js 下面是我的 html 代码 latitude
  • 从文件中动态读取资源

    我一直使用 resx 文件作为静态字符串 以便有一个中心位置来更改它们 问题是在项目构建和部署后我无法更改它们 我想在部署后更改一些字符串 而不重新启动进程 因此 config 文件已退出 可以编写有效解析配置文件 XML JSON YAM
  • Google Guava Cache - 在运行时更改驱逐超时值

    我正在使用以下内容 LoadingCache
  • 缓存 MySQL 查询

    有没有简单的缓存方法MySQL queries in PHP或者如果做不到这一点 是否有人编写并提供了一个小类集可以做到这一点 我可以缓存整个页面 但这不起作用 因为有些数据发生变化 但有些数据没有变化 我想缓存不变化的部分 这是关于如何在
  • @Cache注解使用错误

    我添加了以下注释以启用对我的 EJB3 实体之一的缓存 以使用 ehCache 测试缓存 其中我使用 Hibernate 作为持久性提供程序 import org hibernate annotations Cache import org
  • 整数包装对象仅在值 127 内共享相同的实例? [复制]

    这个问题在这里已经有答案了 这里它们是同一个实例 Integer integer1 127 Integer integer2 127 System out println integer1 integer2 outputs true 但这里
  • 使 ASP.NET MVC 应用程序为 Web Farm 做好准备

    使 ASP NET MVC 应用程序 Web 场做好准备的最有效方法是什么 最重要的是共享当前用户的信息 上下文 和 不太重要 缓存的对象 例如查找项目 州 街道类型 县等 我听说过 读过 MemCache 但还没有看到关于如何实现和测试它
  • Android 的 BitmapFactory 解码函数

    我遇到问题 decodeStream功能 File cacheMap new File context getCacheDir test GIF if cacheMap exist FileInputStream is new FileIn
  • CPU缓存性能。存储未命中与加载未命中

    我使用 perf 作为基本事件计数器 我正在开发一个遭受数据缓存存储未命中的程序 其中比例高达80 我知道缓存原则上是如何工作的 它会在各种未命中情况下从内存加载 并在需要时从缓存中删除数据 我不明白的是 存储未命中和加载未命中之间有什么区
  • 基于超简单静态文件(html)的php站点缓存

    我有一个网站 基本上只显示内容 没有任何表格和后期处理 该网站基于 PHP 并托管在共享主机上 它很少改变 我想为此网站启用缓存 它是共享托管 所以我需要一个解决方案 不使用 Memcached 不需要将我的网站移至 VPS 不要使用APC
  • Ehcache 2.1是否支持Hibernate 3.3.2GA中的事务缓存并发策略?

    Does 以太网缓存2 1 http dsoguy blogspot com 2010 04 ehcache 21 beta lots of stuff still html现在支持事务缓存并发策略 http docs jboss org
  • RestTemplate - 处理异常中的响应标头/正文(RestClientException、HttpStatusCodeException)

    在我的 Restful Web 服务中 如果出现错误请求 5xx 和 4xx 响应代码 我会在响应中写入自定义标头 x app err id 在客户端 我使用 RestTemplate 的交换方法来进行 RestFul Web 服务调用 当
  • 现代缓存中的方式预测

    我们知道 就缓存命中时间而言 直接映射缓存优于集合关联缓存 因为不涉及特定标签的搜索 另一方面 组关联缓存通常比直接映射缓存具有更好的命中率 我读到 现代处理器试图通过使用一种称为路径预测的技术来结合两者的优点 他们预测给定集合中最有可能发
  • 如何防止LRU缓存android中的内存不足错误

    我在我的 Android 应用程序中使用内存 LRU 缓存来缓存位图 但是在将某些位图加载到 LRU 映射中后 应用程序强制关闭并提示内存不足异常 我花了一整天的时间 但还没有找到解决方案 请任何人都可以帮助我 我严重陷入这个问题 提前致谢
  • 缓存行对齐(需要文章澄清)

    我最近在我的应用程序中遇到了我认为是错误共享的问题 我查了一下关于如何将我的数据与缓存行对齐 他建议使用以下 C 代码 C using C 0x alignment syntax template
  • 清除另一个应用程序的 Symfony 缓存

    我想通过后端应用程序中的操作清除前端应用程序的缓存 我怎样才能实现这个目标 我相信在 symfony 1 2 中执行此操作的正确方法如下 sfContext switchTo frontend switch to the environme
  • 如何在create-react-app中为index.html指定Cache-Control标头

    我正在尝试遵循 create react app dev 的指导生产构建文档 https create react app dev docs production build static file caching 为了向用户提供最佳性能
  • 如何测试我的 Redis 缓存是否正常工作?

    我已经安装了 django redis cache 和 redis py 我遵循了 Django 的缓存文档 据我所知 以下设置就是我所需要的 但我如何判断它是否正常工作 设置 py CACHES default BACKEND redis
  • 如何通过点积获得峰值 CPU 性能?

    Problem 我一直在研究 HPC 特别是使用矩阵乘法作为我的项目 请参阅我的个人资料中的其他帖子 我在这些方面取得了不错的成绩 但还不够好 我退后一步 看看我在点积计算方面能做得如何 点积与矩阵乘法 点积更简单 并且允许我测试 HPC
  • 在获得响应之前发出多个请求

    当并行发送多个请求时 在获得响应之前 我无法理解 HTTP 的工作原理 有两种情况 1 With Connection Keep Alive 根据HTTP规范 http www w3 org Protocols rfc2616 rfc261

随机推荐

  • W3C HTML 验证器中的 Angular2 语法

    Angular 1 x 允许将元素放入 HTML 中 而这在当时并不为人所知W3C HTML 验证器 https validator w3 org nu 解决方法是添加data 前缀并写入例如data ng repeat代替ng repea
  • 从 Java 中的 JSON 数组对象获取字符串值

    编辑 我实际上找到了答案 我无法关闭问题 因为我是新人 我能够使用 Array getString i 返回所需的字符串值 感谢您的所有帮助 我有这样的 JSON List example1 example2 example3 exampl
  • 如何使 xtick 与 Python matplotlib 中的 xlim 不同?

    我想用 Python 制作一年中每天的动态图 X轴的axes将是12个月 这个过程在Matplotlib中将是一个barh 代码如下 import random import datetime import matplotlib pyplo
  • PHP:定义具有可变参数计数的函数? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以在 PHP 中定义一个函数 让您定义可变数量的参数 用我更熟悉的语言来说是这样的 function myFunction rest rest array of params return res
  • 如果不存在则不工作

    IF NOT EXISTS SELECT FROM user WHERE name Rutvij AND lang python BEGIN INSERT INTO user VALUES Rutvij python 25 END ELSE
  • jQuery UI 对话框的行为不可预测

    jQuery UI 对话框让我感到厌烦 据我所知 它的工作原理如下 当你这样做时 myDialog dialog 它复制 myDialog 元素并将其移动到 body 标记底部的这个奇怪的小部件中 这太疯狂了 执行此操作时 它会复制可能唯一
  • Ruby 按列对 .dat 文件进行排序

    我对红宝石很陌生 我正在尝试打开文件 dat 并按第二列降序排序 到目前为止 我能够打开该文件并阅读全部内容 请问有什么建议吗 非常感谢 file 1 88 59 74 53 8 0 00 280 9 6 270 17 1 6 93 23
  • 使用 Carrierwave 和 rmagick 上传到 s3 的 exif 图像旋转问题

    我的 Rails 应用程序中有照片上传功能 该应用程序通过 rmagick 和雾通过 Carrierwave 直接上传到 s3 我遇到的问题是 当通过手机通过肖像中的 拍照选项 上传照片时 注意这是 iPhone 上的 但我相信 Andro
  • iOS Facebook SDK“必须使用活动访问令牌来查询有关当前用户的信息。”

    我有一个令牌 但不断收到此错误 必须使用活动访问令牌来查询有关当前用户的信息 如有任何帮助 我们将不胜感激 NSLog TOKEN FBSession activeSession accessToken NSString picture N
  • 使用其他自变量的所有可能组合获取许多模型中特定变量的 p 值

    我正在尝试使用一组自变量的所有可能组合来运行许多回归模型 在此示例中 我对以下系数感兴趣cyl与列出的其他变量的所有可能组合xlist df lt mtcars md lt mpg cyl xlist lt c disp hp am n l
  • 为什么 Spring-Data-JPA 异步不起作用?

    我正在尝试使用 Spring Boot 和 Spring data JPA 创建一个非阻塞休息服务 如何使用 Spring Data JPA Async 支持对实体进行异步保存 尽管其他选择似乎在同一实体上工作 但下面的代码对我不起作用 我
  • 从 R 中的箱线图框架中删除顶部和右侧边框

    有谁知道如何删除 R 中箱线图框架的顶部和右侧边框 我尝试过参数frame FALSE 但这会删除除左侧 y轴 之外的所有边 我只想显示 x 轴和 y 轴 提前致谢 我认为你需要使用axis side 1 绘图后 x lt 1 5 boxp
  • 我可以使用什么工具来合并 wsdl 和 xsd 文件?

    我有两个文件 一个包含 Web 服务描述 wsdl 第二个包含 Web 服务中使用的数据结构 xsd 我什么都没有了 网络服务还不能工作 我需要将它们合并为一个 因为 Delphi 7 WSDL Importer 不能很好地处理包含的 xs
  • Python 在池映射中使用列表/多个参数

    我正在尝试将列表作为参数传递给pool map co refresh input list 然而 pool map没有触发该功能co refresh 并且也没有返回错误 看起来这个过程挂在那里 原始代码 from multiprocessi
  • 更改 VS Code 中注释周围字符的颜色

    如何更改 VS Code 中注释前后字符的颜色 我正在谈论 or 或 字符 我知道如何更改评论颜色 如何更改 Visual Studio 代码中注释的颜色 https stackoverflow com questions 45195023
  • TypeScript - 扩展标准库 Math 的类型定义

    我想使用 javascript 库 种子随机 js https github com davidbau seedrandom 在 TypeScript 项目中 尚无法弄清楚如何为此库编写类型定义 该库使用附加方法扩展了标准 javascri
  • 使用下载管理器下载后安装 apk 并退出应用程序

    我已经创建了一个 Android 应用程序 如果有任何新版本发布 它将从服务器自动开始使用内置的 下载管理器 下载 为了在完成下载后自动安装 我创建了一个广播接收器来通知下载已完成并完成 然后我开始安装它 在我停留在应用程序中时它工作正常并
  • 函数重载的用途/优点是什么?

    函数重载的用途 优点是什么 IMO 主要的好处是方法 函数命名的一致性 这些方法 函数在逻辑上执行非常相似的任务 并且在接受不同的参数方面略有不同 这允许在多个实现中重复使用相同的方法名称 例如过载 好 function Person Fi
  • RxJS:如何让一个观察者处理多个可观察对象?

    我正在使用一个调用我实现的函数的框架 我希望这个函数的参数转换为可观察的 并通过一系列观察者发送 我以为我可以为此使用一个主题 但它的行为并不像我预期的那样 为了澄清一下 我有类似以下代码的内容 我想Option 1下面的方法可行 但到目前
  • 使用缓存存储 API 保存自定义响应

    我在用着缓存存储 https developer mozilla org en US docs Web API Cache构建渐进式 Web 应用程序 PWA 我需要一个自定义对象put https developer mozilla or