- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
好的,所以我们有一个调用后端 API 的离线第一个应用程序。
我们希望在应用程序离线时使用 Service Worker 的同步来缓存对 API 的调用,然后在浏览器重新在线时处理这些调用。
复杂的是我们在进行 API 调用时需要有一个有效的 OWIN token 。
有一个解决方案outlined here那就是说我们可以在需要时获得 token ;但这对我们的应用程序不起作用,因为我们只允许每个用户有一个事件 session 。因此,如果我们在代码中获得 token ,我们就有可能踢出当前正忙于该应用程序的现实世界用户。
所以问题是:- 我们能否让 Service-Worker 同步在代码中暂停,如下所述?
在这一点上,重要的是同步过程要跟踪所有需要处理的调用,但不要处理其中任何一个。此外,任何额外的同步调用都应该“添加到队列中”。
到目前为止,我的谷歌搜索没有返回任何明确处理此问题的内容;但大多数文档都暗示这是不可能的。
有谁知道这是否可能?
最佳答案
好的,所以从上面的讨论和其他线下讨论;这个问题的简单答案是“否”——截至 2017 年 1 月 13 日(是的,今天是星期五);您不能暂停服务 worker 同步。
因此作为一种解决方法;我们可以找到两种方法
(两者都在某种程度上涉及对解决方案的重新思考)。
2.1 接电话;这些可以通过 service-worker 的标准缓存机制进行处理。
2.2 可以忽略响应的非 Get 调用。这些可以添加到 IndexedDB 表中,并且可以在用户连接到数据库后启动网络 worker 来处理它们。
2.3 需要响应的非 Get 调用。这些不会经常发生;因此,对于每种情况,为在线/离线情况编写单独的代码路径。
就是这样;选项 2 适用于我当前的项目。可能存在选项 2 仍然不可行的项目。
关于html - 我可以使用代码暂停 ServiceWorker 同步吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41567792/
我想做什么? 我正在创建一个渐进式 Web 应用程序 (PWA),为了正确发送升级应用程序,我正在处理通知用户的步骤,一旦用户说“升级”,serviceWorker 调用 skipWaiting()
我正在尝试在 Chrome 中测试推送通知功能。我在此处克隆了 Google 提供的示例 Chrome 推送通知 Web 应用程序:https://github.com/GoogleChrome/sa
我正在用 Service Workers 编写我的第一个应用程序,并试图获得注册以便与 pushManager 进行交互。 我可以使用以下任一方法执行此操作: nagivator.serviceWor
I'm wondering why ServiceWorkerRegistration has an updatefound event but no event that fires as s
这是一个奇怪的。 我正在开发 Django/Bootstrap 3 网络应用程序,最近我开始在 JavaScript 控制台中收到此错误: Failed to register/update a Se
我最近在和服务人员一起玩。我在Service Worker文件中写了一些代码,突然它坏了。是否有人知道“ServiceWorker脚本评估失败”是什么意思,何时可能出现? 最佳答案 通常,这意味着软件
在 ServiceWorker 范围内使用 RequireJS 导入外部库的正确方法是什么? 在 WebWorkers 范围内我们可以使用 importScripts() RequireJS in w
我有一个关于 ServiceWorkers 的问题。我知道这些 Worker 可能会被用户代理终止。如此终止的 ServiceWorker 是否仍然能够接收推送通知并唤醒它们? 如果没有,是否有关于该
我正在尝试更新我的 ServiceWorker。 我有一个旧的服务 worker ,一些窗口在它的控制之下。现在有一个新版本的ServiceWorker。它安装正确。但它不会为新页面激活。我的目标是为
自从 Google Chrome 新更新(版本 69.0.3497.92(官方版本)(64 位))以来,我在导航器中找不到 serviceWorker 服务。实际上我可以按如下方式注册我的 Servi
我已经实现了 ServiceWorker在我的一些网络应用程序上利用离线功能和一些与 ServiceWorkers 相关的其他好东西。现在,一切正常,直到我添加了一些外部嵌入式脚本。我在我的网络应用程
我正在尝试安装一个 ServiceWorker,它会在我每次更改当前使用的缓存版本时清除缓存。 我在 v0.0.1 缓存中缓存了 index.html,如果缓存版本更改为 v0.0.2 或其他任何版本
好的,我才刚刚开始使用 Service Workers。 我的 sw.js 中有以下代码: const cacheName = "v2" // Call Install Event self.addE
navigator.serviceWorker.register('/service-worker.js'); 如何在不初始化额外 AJAX 请求的情况下检索 /service-worker.js h
我致力于将 [Service Worker 技术] 实现到网站中。 除图像 外,一切都按预期工作。 图像根本没有加载。 我想知道这是否是预期的行为,或者是否应该加载图像。 为了重现此错误,我全新安装了
if ('serviceWorker' in navigator) { console.log('Service Worker is supported'); navigator.
我有一个简单的 service worker 安装 self.addEventListener('install', function(event) { console.log('Service
关闭。这个问题需要debugging details .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 上个月关门。 Improve this question 编辑
比如说,我想在 Android 上制作一个闹钟应用程序作为渐进式网络应用程序。 与原生闹钟应用一样,即使没有事件的网页,它也应该在选定的时间收到通知。 起初,我考虑过使用push api。但是当然离线
我的网站有 6 个不同的内容元素,我想通过服务工作线程特定的缓存方法来控制它们。 [预缓存]静态内容(css、js、字体) [缓存回退到网络] CDN(来自 CloudFront S3 的图像) [网
我是一名优秀的程序员,十分优秀!